RHELで、SSH接続ポートを変更して接続してみる。

RHELで、SSH接続ポートを変更し、接続する流れを整理してみました。
2023.08.02

こんにちは、クラスメソッドのキム・ジェウク(Kim Jaewook)です。

今回は、RHELで、SSH接続ポートを変更し、接続する流れを整理してみました。

EC2インスタンス情報

EC2インスタンスはRHEL8.5バージョンで、作成しました。

セキュリティグループでは、SSH「22番」ポートのみ設定している状態です。

SSH接続ポート変更

本ブログでは、semanageを利用して、SSH接続ポートを変更いたします。

※ semanageは、SELinuxのセキュリティポリシーを追加/変更/削除できるコマンドベースのユーティリティです。

sudo yum whatprovides semanage
sudo yum install policycoreutils-python-utils-2.9-24.el8.noarch

whatprovidesコマンドで、semanageを探し、インストールします。

sudo semanage port -l | grep ssh

上記のコマンドで、ポートを確認すれば「22番」ポートだけ設定されている状態です。

sudo semanage port -a -t ssh_port_t -p tcp 1030
sudo semanage port -a -t ssh_port_t -p tcp 1035
sudo semanage port -l | grep ssh

テストとして、「1030」、「1035」ポートを追加します。

結果を確認すればDefaultで設定されている22番ポートを含め「1030」、「1035」ポートが追加されました。

sudo vi /etc/ssh/sshd_config

sshd_configで、ポートを設定します。

※ semanageをスキップして、sshd_configのみ設定を行うとエラーが発生します。

service sshd restart
systemctl status sshd

sshdをリスタートした後、ステータスを確認すると、「1030」、「1035」ポートが追加されました。

変更したポートに接続するためにセキュリティグループを設定します。

詳細なセキュリティグループ設定方法は下記ブログを参考ください。

  • ssh -i "ec2-key.pem" ec2-user@ec2-13-231-198-118.ap-northeast-1.compute.amazonaws.com -p 1030
  • ssh -i "ec2-key.pem" ec2-user@ec2-13-231-198-118.ap-northeast-1.compute.amazonaws.com -p 1035

上記のコマンドで問題なく、設定したポートでSSH接続できます。