SSHのポート番号を変更する
篠原 隆司
SSHのデフォルトのポート番号は、22 です。デフォルト以外のポートに設定し安全性を高めます。
※ 設定を間違えると、SSHを使って外部からログインできなくなりますのでご注意ください。
万が一、SSHでログインできなくなっても、さくらインターネットのVPSだとコントロールパネルからログインができるので安心です(^^)
SSHのポート番号を変更
/etc/ssh/sshd_config を編集します。
$ su
# vi /etc/ssh/sshd_config
次のように書き換えます。
設定するポート番号は、0 から 65535 の範囲が有効ですが、実際には 10000から65535の範囲で決めると良いです。
※ 例として、新しいポート番号を、 10022 に変更するとします。
#Port 22
Port 10022
sshdの設定に誤りがないことを確認します。
# /usr/sbin/sshd -t
sshdを再起動して設定を反映します。
# /etc/init.d/sshd restart
iptablesの設定を変更
iptables(ファイアーウォール) を設定している / 設定するつもりの方は、SSHのポート番号が変わっていることにご注意ください。
既に iptables を設定して動かしている方は、次の作業を行います。
まだiptablesを動かしていない場合は、後で構いません。
/etc/sysconfig/iptables を編集します。
# vi /etc/sysconfig/iptables
下記のような、 もともとのポート番号 (22) を、新しいポート番号に書き換えます。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY
iptablesを再起動します。
/etc/rc.d/init.d/iptables restart
SSHのポート変更後の確認
※ ここまでの間、設定変更に使用しているターミナルはまだ終了させないことをオススメします。
現在のターミナルはそのまま残し、新しくターミナルを立ち上げます。
次に、新しいポート番号を指定して、ログインができることをご確認ください。
もし、ログインができないようですと、なんらかの原因が考えられますので、もともと作業をしていたほうのターミナルより問題点を修正してください。
ログインできなかったときの原因として考えられるケース
- そもそも、ポート番号の指定を間違えた
- その時にかぎって、ユーザー名やパスワード(秘密鍵)を間違えた
- サーバ側でファイアーウォールによりブロックされた
- sshd_confなど、変更を施したファイルに間違いがある
無事ログインできることを確認できたなら、一旦、両方のターミナルを終了させて、もう一度ログインしなおしてみます。