SSH 接続はデフォルトでポート 22
を使用しますが、そのままでは不正アクセスの対象になりやすく、ブルートフォース攻撃を受けるリスクが高まります。ポート番号を変更することでセキュリティを向上させ、攻撃を受けにくくすることが可能です。ここでは SSH のポート変更手順と注意点を解説します。
SSH 設定ファイルの編集
SSH のポート番号は /etc/ssh/sshd_config
で設定します。管理者権限でファイルを開き、Port
の行を編集します。
sudo vi /etc/ssh/sshd_config
ファイル内の以下の行を探して編集します。
#Port 22
Port 2222
上記例では、SSH ポートを 2222
に変更しています。
既存の #Port 22
のコメントを外して数値を変更する方法でも構いません。
ファイアウォールの設定を更新
新しいポート番号を使用できるように、ファイアウォール設定を変更します。例として UFW を利用している場合は以下のように設定します。
# 新しいポートを許可
sudo ufw allow 2222/tcp
# 旧ポートを許可している場合は削除
sudo ufw delete allow 22/tcp
SSH サービスの再起動
設定を反映させるには SSH サービスを再起動します。
sudo systemctl restart sshd
新しいポートでの接続確認
設定後は新しいポートを指定して接続します。
ssh -p 2222 user@server.example.com
接続が確認できたら、旧ポートのアクセスを完全に閉じると安全です。接続できない場合に備えて、別のターミナルで既存の SSH セッションを残したまま作業するのがおすすめです。
注意点
- ポート変更はセキュリティ強化の一環ですが、根本的な対策にはならず、公開鍵認証や Fail2ban の併用が推奨されます
- サーバー監視ツールやデプロイツールを利用している場合、新しいポート番号を反映する必要があります
- 1024 未満のポートは予約されている場合があるため、1024 以上の任意の番号を使うのが無難です
まとめ
SSH のデフォルトポートを変更することで、自動スキャンや総当たり攻撃の対象になりにくくなります。sshd_config
でポート番号を変更し、ファイアウォールとサービスを適切に設定することで、比較的簡単にセキュリティを高めることが可能です。ただし、これだけで安心せず、鍵認証やログ監視といった多層的な対策と組み合わせることが重要です。