LinuxでSSHポートを変更する方法


ある[ SSH または Secure Shell のデーモンは、強力な暗号化を使用して安全でないネットワークを介して安全なチャネルを介してLinuxシステムへのリモートセキュアログインを実行するために使用されるネットワークプロトコルです。

SSHプロトコルの最も基本的なユーティリティの1つは、リモートLinuxマシン上のUnixシェルにアクセスしてコマンドを実行する機能です。しかし、SSHプロトコルは、プロトコル間で安全なTCPトンネルを作成したり、マシン間でリモートで安全にファイルを転送したり、FTPのようなサービスとして機能したりする機能など、他の実装を提供できます。

SSHサービスが使用する標準ポートは 22/TCP です。ただし、標準の 22/TCP ポートはインターネット上のハッカーやボットによる脆弱性を常にターゲットとしているため、不明瞭な状態で何らかのセキュリティを実現するために、LinuxサーバーのSSHデフォルトポートを変更することができます。 。

LinuxでSSHサービスのデフォルトポートを変更するには、まず下記のコマンドを発行してメインのSSHデーモン設定ファイルをお気に入りのテキストエディタで開き、次のように変更する必要があります。

# vi /etc/ssh/sshd_config

sshd_config ファイルで、ポート22 で始まる行を検索して、行の前にハッシュタグ(#)を追加します。この行の下に、新しいポート行を追加し、SSHをバインドするための希望のポートを指定します。

この例では、ポート 34627/TCP でバインドして待機するようにSSHサービスを設定します。ランダムなポートを選択してください。できれば 1024 (標準の既知のポートの上限)を超えるようにしてください。 SSH用に設定できる最大ポートは 65535/TCP です。

#Port 22
Port 34627

上記の変更を行ったら、SSHデーモンを再起動して変更を反映させ、netstatまたは ss command を発行して、SSHサービスが新しいTCPポートをリッスンすることを確認します。

# systemctl restart ssh
# netstat -tlpn| grep ssh
# ss -tlpn| grep ssh

CentOS または RHEL Linuxベースのディストリビューションでは、 policycoreutils パッケージをインストールし、以下のルールを追加してSSHデーモンがバインドするようにSELinuxポリシーを緩和します新しいポート

# yum install policycoreutils
# semanage port -a -t ssh_port_t -p tcp 34627
# semanage port -m -t ssh_port_t -p tcp 34627
# systemctl restart sshd
# netstat -tlpn| grep ssh
# ss -tlpn| grep ssh

また、新しく追加したSSHポートで着信接続を確立できるようにするために、インストールしたLinuxディストリビューション固有のファイアウォールルールを更新することを忘れないでください。