目次:
デフォルトでは、SSHはポート22でリッスンします。デフォルトのSSHポートを変更すると、自動化された攻撃のリスクが軽減され、サーバーのセキュリティがさらに強化されます。
ポートを変更する代わりに、特定のホストからのみポート22へのアクセスを許可するようにファイアウォールを構成する方がはるかに簡単で安全です。
このチュートリアルでは、LinuxでデフォルトのSSHポートを変更する方法について説明します。 また、新しいSSHポートへのアクセスを許可するようにファイアウォールを構成する方法も示します。
SSHポートの変更
LinuxシステムのSSHポートを変更するには、以下の手順に従います。
1.新しいポート番号の選択
Linuxでは、1024未満のポート番号は既知のサービス用に予約されており、ルートによってのみバインドできます。 SSHサービスに1〜1024の範囲内のポートを使用して、将来のポート割り当ての問題を回避することができますが、1024を超えるポートを選択することをお勧めします。
この例では、SSHポートを5522に変更します。好きなポートを選択できます。
2.ファイアウォールの調整
SSHポートを変更する前に、まずファイアウォールを調整して、新しいSSHポートでのトラフィックを許可する必要があります。
sudo ufw allow 5522/tcp
CentOSでは、デフォルトのファイアウォール管理ツールはFirewallDです。 新しいポートを開くには、次のコマンドを実行します。
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo firewall-cmd --reload
CentOSユーザーは、SELinuxルールを調整して、新しいSSHポートを許可する必要もあります。
sudo semanage port -a -t ssh_port_t -p tcp 5522
sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW, ESTABLISHED -j ACCEPT
3. SSHの構成
テキストエディタでSSH設定ファイル
/etc/ssh/sshd_config
を
/etc/ssh/sshd_config
ます。
sudo nano /etc/ssh/sshd_config
Port 22
始まる行を検索します。 ほとんどの場合、この行はハッシュ
#
始まります。 ハッシュ
#
を削除し、標準のSSHポート22の代わりに使用される新しいSSHポート番号を入力します。
Port 5522
SSH構成ファイルを変更するときは、特に注意してください。 誤った構成により、SSHサービスの開始に失敗する場合があります。
完了したら、ファイルを保存し、SSHサービスを再起動して変更を適用します。
sudo systemctl restart ssh
CentOSでは、sshサービスの名前は
sshd
です。
sudo systemctl restart sshd
SSHデーモンが新しいポート5522でリッスンしていることを確認するには、次を入力します。
ss -an | grep 5522
出力は次のようになります。
tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:* tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638 tcp LISTEN 0 128:5522:*
新しいSSHポートの使用
リモートマシンにログインするときにSSHポートを変更したので、新しいポートを指定する必要があります。
ssh
続いて
-p
実行し
ssh
ssh -p 5522 username@remote_host_or_ip
結論
このチュートリアルでは、LinuxサーバーのSSHポートを変更する方法を学びました。 SSHキーベースの認証をセットアップし、パスワードを入力せずにLinuxサーバーに接続することもできます。
sshセキュリティ