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以外のポート値を試しましたが、うまくいきませんでした。
助けて!
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
これは基本的には推奨されませんが、とにかくこれは達成可能です。
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