SSH ポートを変更すべきか?
SSH をポート 22 から移すのは、一つの正直な理由から価値があります。ポート 22 を叩き続ける自動ボットのノイズを劇的に減らし、ログが読めるようになるのです。これは本当のセキュリティではありません ── 隠蔽によるセキュリティであり、本気の攻撃者は新しいポートをスキャンするだけです。だからノイズを静めるために変更するのは良いですが、保護と勘違いしないでください。実際の保護は SSH 鍵とパスワードログインの無効化です(鍵 vs パスワード)。本記事では正直な判断と手順を扱います。
ポートを移すことの効果と限界
- できること:広範なインターネットスキャンによる絶え間ないブルートフォースログイン試行を防ぎ、
auth.logが失敗した root ログインの壁ではなくなります。正気を保つためにも fail2ban の S/N 比のためにも本当に良いことです。 - できないこと:標的型攻撃者は止められません ── ポートスキャンは数秒で新しいポートを見つけます。また、誰かがサービスに到達できるようになれば全く役に立ちません。
サーバーが Tailscale のテイルネット上にあり、パブリックインターネットに一切公開されていないなら、そもそもポートを変更する必要はないとも言えます ── 信頼できないものは最初から SSH に到達できないからです。iPhone での Tailscale を参照してください。
SSH ポートの変更方法
- 設定を編集:
/etc/ssh/sshd_configでPort 2222を設定します(1024 より上の空いているポートを選びます)。 - 再起動の前にファイアウォールで開放します。さもないと自分を締め出してしまいます:
sudo ufw allow 2222/tcp(新しいポートが機能したら 22 を削除します)。 - SSH を再起動:
sudo systemctl restart ssh。 - 新しいポートで再接続 ── 現在のセッションを開いたまま、最初のものを閉じる前に 2 つ目の接続で新しいポートをテストします。
重要:ファイアウォールで新しいポートを開放せずに SSH を再起動しては絶対にいけません。そして必ず、古いセッションが生きているうちに2 つ目のセッションで新しいポートをテストしてください。リモートマシンから自分を締め出すのが、ここでの典型的なミスです。
スマホからやる
すべてモバイル SSH クライアントで完結できます:SFTP で(またはターミナルの nano で)sshd_config を編集し、接続のポート欄に新しいポート番号を入れて再接続します。お使いのディストリビューションの正確なファイアウォールコマンドが分からなければ、TermAI のアシスタントに「ファイアウォールでポート 2222 を開放」と尋ね、実行する前に提示されたコマンドを確認してください。
SSH を本当に守るもの
ポートの変更は実際のステップの中で最も重要度が低いものです。影響度の順に:
- 鍵認証、そして
PasswordAuthentication no── パスワード攻撃を完全に潰します。 - root ログインの無効化 ──
PermitRootLogin no;ユーザーとしてログインしてsudoします。 - fail2ban ── 繰り返し失敗した IP を BAN します。
- SSH を一切公開しない ── Tailscale/WireGuard の背後に置き、自分のデバイスだけが到達できるようにします。
- その上で、任意でポートを変更 ── ログを静かにするために。
FAQ
SSH ポートを変更するとセキュリティは向上しますか?
わずかにだけです。自動スキャンのノイズは減りますが、標的型攻撃者は止められません。本当のセキュリティは鍵、パスワードログインの無効化、SSH を公開しないことから生まれます。
SSH をどのポートに移すべきですか?
1024 より上の空いているポートなら何でも(例:2222)。よく使われるサービスポートは避けてください。ファイアウォールも合わせて更新します。
自分を締め出さないようにするには?
SSH を再起動する前にファイアウォールで新しいポートを開放し、古いセッションがまだ接続されているうちに 2 つ目のセッションで新しいポートをテストします。
クイックファクト
- ポートの変更:ボットのノイズを減らす;隠蔽であって本当のセキュリティではない
- 方法:
sshd_configのPort→ ファイアウォールで開放 → 再起動 → 新しいポートで再接続 - 自分を締め出さない:先にファイアウォールを開放し、2 つ目のセッションでテスト
- 本当のセキュリティ:鍵 +
PasswordAuthentication no+ root 無効 + Tailscale の背後
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.