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

2021-07-05

概要

AWSのVPSサービスのLightsailでインスタンスのSSHポート番号を22番から任意の番号に変更します。ポート番号を変更しなくても運用はできますが、ほぼ毎日SSHのポートで外部ユーザーよりログインしようとしている不正ログインの形跡あるので違うポートに変更します

Lightsailの管理画面よりファイアウォールでSSHのポート番号を追加する

AWSのLightsailの管理画面よりSSHのポート番号を変更するインスタンスを指定して、そのインストールが接続されているファイアウォールで、変更するSSHのポート番号を許可します

1.TOP画面から「インスタンス」→「接続するインスタンス」を選択します

2.「ネットワーク」のタブを選択します

3.追加を選択して「カスタム」・「TCP」・「SSHポート番号」入力して通信を許可します

sshd_configの編集してSSHポート番号を変更する

sshd_configに変更してポート番号を変更します。今回はSSHのポート番号は、2299番号に変更します。以前のSSHのポート番号の22番は、新しい接続ポート(2299)で接続が確認できるまで残しておきます

$ sudo vi /etc/ssh/sshd_config
Port 22
# 新しいSSH接続するポート番号の2299を追加する
Port 2299

# sshdを再起動します
$ sudo systemctl restart sshd.service

firewall に変更するSSHポート番号を追加する

「firewalld」に変更するSSHポート番号を追加します

$ sudo  firewall-cmd --permanent --zone=public --add-port=2299/tcp
$ firewall-cmd --reload

firewalldでポートを追加したら、SSHクライアントで新しいポート番号で接続できるか確認します

以前のSSHポート(22番)からアクセスを拒否する

以前のSSHポートである22番号からのアクセスを拒否するようにします。

sshd_configを変更して22番ポートで起動しないようにします

# Port 22 をコメントアウトして22番で起動しないようにする
$ sudo vi /etc/ssh/sshd_config
# Port 22
Port 2299

# sshdを再起動します
$ sudo systemctl restart sshd.service

「firewalld」に以前のSSHポート番号(22番)からの許可されている接続を拒否するようにします

$ firewall-cmd --remove-service=ssh --zone=public --permanent
$ firewall-cmd --reload

firewalld・sshdの設定変更したら、SSHクライアントで以前のポート番号(22番)で接続できないことを確認します

また、SSHのポート番号を変更したらLightsail管理画面からのブラウザベースの ssh クライアントでの接続ができません。
ブラウザベースのSSHクライアントのポート番号が変更できるようになれば接続できるかも知れませんが、今の段階ではSSHのポート番号を変更できないので管理画面よりSSH接続はできません