SSHサーバーの初期設定は、22番ポートを利用します。
このポート番号は一般的で広く知られているため、ポートの解放の際に不正侵入のリスクが高まります。
よってリスク回避のため、SSHのポート番号を22番から変更する。
SSHの設定ファイルを変更
その前にバックアップのためにSSH設定ファイルのバックアップを作成
[root@localhost ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old
ポート番号を変更するために、SSH設定ファイル(/etc/ssh/sshd_config)のPort項目を編集。
/etc/ssh/sshd_config
Port 59695 (59695の数字は例)
設定の変更の確認のためdiffコマンドを使用
[root@localhost ~]# diff /etc/ssh/sshd_config.old /etc/ssh/sshd_config
17c17
< #Port 59695
---
> Port 59695
設定ファイルの構文をチェックしエラーがないことを確認
[root@localhost ~]# sshd -t
エラーが表示されなければ正常に構文が変更されている。
SSHの設定を反映
[root@localhost ~]# service sshd restart
Redirecting to /bin/systemctl restart sshd.service
変更したポート番号で、SSHログインできるかを確認
クライアント側からSSH接続
ssh -p 59695 usr@(IP)
ssh: connect to host (IP) port 59695: Connection timed out
繋がらない、どうやらfirewalldの設定も必要のよう
[root@localhost ~]# cat /usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
firewalldの設定の前に設定ファイルをコピー
[root@localhost ~]# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
次に設定ファイルのバックアップを作成
[root@localhost ~]# cp /etc/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml.old
設定ファイルの中身を変更
先ほどの/usr/lib/firewalld/services/ssh.xmlのportを59695に変更
[root@localhost ~]# cat /etc/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="59695"/>
</service>
設定の変更の確認のためdiffコマンドを使用
[root@localhost ~]# diff /etc/firewalld/services/ssh.xml.old /etc/firewalld/services/ssh.xml
5c5
< <port protocol="tcp" port="22"/>
---
> <port protocol="tcp" port="59695"/>
変更した設定を反映
[root@localhost ~]# firewall-cmd --reload
success
successと表示されれば、OK
sshd を再起動
[root@localhost ~]# systemctl restart sshd
再度変更したポート番号で、SSHログインできるかを確認
ssh -p 59695 usr@(IP)
Last login: Time from (IP)
[usr@localhost ~]$
無事SSHのポート変更による接続が完了
参考url
https://webkaru.net/linux/change-ssh-port/
https://webkaru.net/linux/centos7-firewalld-ssh-port/