SSHのポート番号を変更する

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

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など、変更を施したファイルに間違いがある

無事ログインできることを確認できたなら、一旦、両方のターミナルを終了させて、もう一度ログインしなおしてみます。