web-dev-qa-db-ja.com

CentOSリリース6.2(最終)の複数のポートでSSHDを実行する

CentOSリリース6.2(最終)を実行しています。

ポート22および1022でリッスンするsshdポートが必要です。

/ etc/ssh/sshd_configに次の行を追加しました:

Port 22
Port 1022

sshdを再起動してiptablesをオフにしましたが、ポート1022でsshdに接続できません。

次のようにしても

#Port 22
Port 1022

sshdはポート22でリッスンし続け、ポート1022でリッスンしません。1022以外のポート値を試しましたが、うまくいきませんでした。

助けて!

6
user1172468

CentOS 5を使用していた場合、説明した構成は機能しますが、簡単なテストでは、CentOS 6のsshdが22以外の1023未満のポートにバインドしないことが示唆されています-現在、これに関するリファレンスは見つかりません。複数のポートでsshdにアクセスする場合は、1024以上を選択してください。


更新-これはSELinuxに関連しています。現在のポリシーでは、sshdが1023未満の非標準ポートにバインドすることは許可されていません(実験で確認されています)。

semanage port -l | grep 22
ssh_port_t                     tcp      22

1023以下のポートを追加する場合は、SELinuxで明示的に許可する必要があります。

semanage port -a -t ssh_port_t  -p tcp 1022
semanage port -l | grep 22
ssh_port_t                     tcp      1022, 22

次にsshdを再起動します

netstat -tnlp
tcp      0    0 0.0.0.0:22          0.0.0.0:*             LISTEN      25376/sshd
tcp      0    0 0.0.0.0:1022        0.0.0.0:*             LISTEN      25376/sshd
12
user9517

これは基本的には推奨されませんが、とにかくこれは達成可能です。

cp /etc/ssh/sshd_config /etc/ssh/sshd_config-another

sshd-config-anotherファイルを作成し、異なるポート番号とpidファイルを割り当てます。

Port 1022
PidFile /var/run/sshd-another.pid

実行します

ln -s /usr/sbin/sshd /usr/bin/sshd-another
cp /etc/rc.d/init.d/sshd /etc/rc.d/init.d/sshd-another

新しいinitスクリプトを開き、それに応じて変更を加えます。

# config: /etc/ssh/sshd_config-another
# pidfile: /var/run/sshd-another.pid
[ -f /etc/sysconfig/sshd-another ] && . /etc/sysconfig/sshd-another
prog="sshd-another"
SSHD=/usr/sbin/sshd-another
PID_FILE=/var/run/sshd-another.pid

作成/etc/sysconfig/sshd-secondファイル。

OPTIONS="-f /etc/ssh/sshd_config-another"

個別のPAM構成。

ln -s /etc/pam.d/sshd /etc/pam.d/sshd-another

サービスを再起動します。

service sshd restart
service sshd-another restart

Chkconfigそれ。

chkconfig --add sshd-another
chkconfig on sshd-another
1