SSH(Secure Shell)は、ネットワーク越しにサーバーへ安全にログインし、コマンドを実行するための仕組みです。通信は暗号化され、ファイル転送(SCP・SFTP)やポート転送にも使われます。サーバー管理の玄関にあたるため、公開サーバーでは最優先で守るべき場所になります。
まず押さえたいポイント
- 標準では22番ポートで待ち受ける
- 認証はパスワードより公開鍵認証が基本(総当たり攻撃に強い)
- 秘密鍵は手元から出さない。サーバーに置くのは公開鍵だけ
- 公開サーバーの22番には常に自動化された侵入試行が来ている前提で設計する
近い用語との違い
sudo と役割が違います。SSH は「サーバーに入る」ための仕組み、sudo は「入った後に権限を上げる」ための仕組みです。両者は組み合わせて使い、「一般ユーザーで SSH ログインし、必要なときだけ sudo」が定石になります。また FTP との違いは暗号化の有無で、FTPとSSHの違い で整理しています。
押さえておきたい注意点
設定変更の順番を間違えると、自分が締め出されます。とくに危険なのが「公開鍵でログインできることを確認する前に、パスワード認証を無効にする」パターンです。必ず別のセッションを開いたまま設定を変更し、新しい方法でログインできることを確認してから元のセッションを閉じます。
実務で見るポイント
最低限見るのは①公開鍵認証にしてパスワード認証を無効化 ②root の直接ログインを禁止 ③接続元IPの制限(可能なら)④ログイン失敗の監視です。ポート番号を22から変えるのは自動化された無差別攻撃のログを減らす効果はあるものの、本質的な対策ではない点は理解しておきましょう。初期設定の全体像は Linuxサーバー初期設定チェックリスト にまとめています。