ウェブサイト検索

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 コマンド を発行して、SSH サービスが新しい TCP ポートでリッスンしていることを確認します。

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

CentOS または RHEL Linux ベースのディストリビューションでは、SSH デーモンがバインドできるように、policycoreutils パッケージをインストールし、以下のルールを追加して 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 ディストリビューションに固有のファイアウォール ルールを更新することを忘れないでください。