[Time4VPS][CentOS] SSH ポートを変更する
Time4VPS の CentOS のログイン時に以下のように表示された。
There were 109 failed login attempts since the last successful login.
自分がログインしたのは前日なので、1晩で 109 回もの不正ログインが試みられたということだ。
ログインのログは以下で確認できる。
# cat /var/log/secure* | grep "sshd" | grep "Failed password"
認証に成功したログは以下のコマンドで確認できる。
# cat /var/log/secure* | grep "sshd" | grep "Accepted"
とりあえず自分の IP アドレスだけだったので安心した。
しかし、もしものときに備えて SSH ポート番号を変更しておくことにした。
環境:
・Time4VPS「Linux 8」(CPU: 2 x 2.60 GHz、RAM: 8192 MB、Storage: 80 GB、Bandwidth: 8 TB、Port speed: 100 Mbps、Virtualization: KVM)
・macOS Catalina Version 10.15.6(英語環境) で SSH 接続
(1)/etc/ssh/sshd_config で以下のように編集する。
変更前:
#Port 22
変更後:
Port 6022
(2)sshd を再起動
# systemctl restart sshd
(3)ファイアーウォールから SSH を削除。
# firewall-cmd --permanent --remove-service=ssh
(4)XMLファイルを作成
# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-6022.xml
(5)/etc/firewalld/services/ssh-6022.xml を編集する。
変更前:
<port protocol="tcp" port="22"/>
変更後:
<port protocol="tcp" port="6022"/>
(6)ファイアーウォールに登録。
# firewall-cmd --permanent --add-service=ssh-6022
(7)ファイアーウォールを再起動。
# firewall-cmd --reload
(8)現在の設定を確認してみる。
1# firewall-cmd --list-all
2public (active)
3 target: default
4 icmp-block-inversion: no
5 interfaces: eth0
6 sources:
7 services: dhcpv6-client ssh-6022
8 ports: 80/tcp 443/tcp 2399/tcp 5003/tcp 16000/tcp
9 protocols:
10 masquerade: no
11 forward-ports:
12 source-ports:
13 icmp-blocks:
14 rich rules:
(9)クライアント(私の場合 Mac)からアクセスする際は以下のように -p 6022 オプションを付ける。
$ ssh [ホスト名(〜.time4vps.cloud)] -l [ユーザー名] -p 6022
参考:
不正なSSHログインを確認する方法【CentOS】
https://reiwanet.biz/linux/centos-ssh-failed-access/
SSH待ち受けポートの変更手順【CentOS】
https://reiwanet.biz/linux/centos-ssh-port-change/
sshのポート番号変更方法 – Qiita
https://qiita.com/hana_shin/items/4a90fa66e2d77324912c