この記事では、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 root@104.130.26.57 -p 2021
root@104.130.26.57's password: