この記事では、CentOS®またはRedHat®EnterpriseLinux®サーバーのデフォルトのSecure Shell(SSH)ポートを変更する方法について説明します。
SSHデーモン構成ファイルを開いて編集します
-
次のコマンドを実行して、 sshd_configを開きます。 ファイル:
[root@server-01 ~]# vi /etc/ssh/sshd_config
-
次のテキストが見つかるまで、矢印キーを使用してファイルをスクロールします。
#Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
-
#Port 22の下の行にカーソルを置きます iを押します キーを押して挿入モードに入ります 。
-
Enterを押します キーを押して新しい行を作成し、
Port <Specified Port Number>
と入力します 。Port 2021
次の例の新しいSSHポートです:#Port 22 Port 2021 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
-
Escを押します 挿入モードを終了するためのキー 。次に、
vi
を終了します:wq
と入力します Enterを押します キー。
SSHデーモンを新しいポートにバインドします
-
policycoreutilsをインストールします 次のコマンドを使用してSSHデーモンを新しいSSHポートにバインドするパッケージ:
[root@server-01 ~]# yum install policycoreutils
-
y
と入力します Enterを押します キーを押してインストールを続行します。このタスクが完了したら、次のルールを追加して、SSHデーモンが指定されたポートにバインドされるようにします。[root@server-01 ~]# semanage port -a -t ssh_port_t -p tcp 2021 [root@server-01 ~]# semanage port -m -t ssh_port_t -p tcp 2021
-
次に、SSHデーモンを再起動します:
[root@server-01 ~]# systemctl restart sshd
netstat のいずれかを使用して、ポートの変更が有効になったことを確認します またはss 次の例に示すようなコマンド:
[root@server-01 ~]# ss -tlpn| grep ssh
LISTEN 0 128 0.0.0.0:2021 0.0.0.0:* users:(("sshd",pid=28065,fd=4))
LISTEN 0 128 [::]:2021 [::]:* users:(("sshd",pid=28065,fd=6))
[root@server-01 ~]# netstat -tlpn| grep ssh
tcp 0 0 0.0.0.0:2021 0.0.0.0:* LISTEN 28065 sshd
tcp6 0 0 :::2021 :::* LISTEN 28065 sshd
ご覧のとおり、どちらのコマンドもPort 2021
を示しています。 これで準備が整いました。
ファイアウォールを更新して、新しく指定されたポートへの着信接続が許可されるようにします。次の2行を入力します:
[root@server-01 ~]# sudo firewall-cmd --add-port=2021/tcp --permanent
success
[root@server-01 ~]# sudo firewall-cmd --remove-service=ssh --permanent
success
注: 最初の変更には、<目的のポート>が含まれます 、これはPort 2021
例では。
SSHを実行しようとすると、次のメッセージが返されます。
`ssh: connect to host 104.130.26.57 port 22: No route to host`
ここで、-p <Port Number>
を使用します オプションを選択すると、正常にログインできるはずです:
ssh [email protected] -p 2021
[email protected]'s password: