SSH 鍵 vs パスワード:手短な答え
SSH 鍵はパスワードより安全であり、ちょっとしたテスト以上のことには鍵を使うべきです。パスワードはログインのたびに入力する共有された秘密であり、推測されたり、総当たりで破られたり、フィッシングされたりします。SSH 鍵は暗号鍵のペアで、その秘密側がデバイスから出ることは決してないため、推測するものも送信するものもありません。最も強固な構成は、鍵に加えてパスワードログインを完全に無効化することです。
それぞれの仕組み
パスワード認証:あなたとサーバーの両方が一つの秘密を知っています。ログインのたびにそれを(SSH セッションで暗号化して)サーバーに送り、照合します。シンプルでセットアップ不要ですが、安全性はその秘密が十分に強く、決して漏れないことに完全に依存します。
鍵認証:あなたは秘密鍵を保持し、サーバーは対応する公開鍵を保持します。ログイン時、サーバーはあなたが秘密鍵を保持していることの証明を求めます ── 鍵そのものがネットワークを越えることは一切ありません。秘密鍵はデバイス上(理想的には安全なキーストア内)に留まり、公開鍵はどこに貼っても安全です。
なぜ鍵が安全性で勝るのか
- 総当たりで破れない。現代の鍵(Ed25519)は、8 文字のパスワードのように推測されることはありません。
- フィッシングも盗聴もできない。秘密鍵はデバイスから決して出ないため、転送中に盗まれたり、騙し取られたりするパスワードがありません。
- パスワードを無効化できる。鍵が機能したら、サーバーでパスワード認証を無効化(
PasswordAuthentication no)すれば、パスワード攻撃のカテゴリ全体 ── ポート 22 を叩き続けるボットを含め ── が無関係になります。 - 一つの鍵で複数のサーバー。一つの公開鍵を好きなだけ多くのマシンにインストールできます。
パスワードで問題ない場合
パスワードは悪ではありません ── ただ弱いだけです。使い捨てのマシンへの一回限りのクイック接続や、決して公開されない LAN 専用マシンには問題ありません。繰り返し使うもの、公開インターネット上にあるもの、重要なものには、鍵に切り替えましょう。
スマホから鍵をセットアップする
コンピューターは必要ありません。優れたモバイルクライアントはデバイス上で鍵ペアを生成し、秘密鍵を安全なキーストアに保管し、公開鍵をサーバーにインストールする手助けをします。TermAI では Ed25519 鍵を生成し、すでに接続済みなら公開鍵をサーバーに代わりにデプロイできます ── ~/.ssh/authorized_keys に自動で書き込みます ── ので、数タップでパスワードから鍵へ切り替えられます。
正確なハードニング手順を思い出せなければアシスタントに尋ねましょう ──「このサーバーのパスワードログインを無効化して」── 実行前にコマンドを確認してください。
鍵の唯一の本当の欠点
鍵は、秘密側を保持するデバイスと同じだけしか安全ではありません。それを守りましょう:安全なキーストアを備えたデバイスを使う(または鍵にパスフレーズをかける)、そしてデバイスを失ったら、サーバーの authorized_keys からその公開鍵を削除します。新しいスマホに移行する?秘密鍵をあちこちにコピーするのではなく、そこで新しい鍵を生成してその公開鍵を追加しましょう。
よくある質問
SSH 鍵はパスワードより安全ですか?
はい。秘密鍵はネットワークを通らず、パスワードのように総当たりで破られることもなく、鍵をセットアップしたらパスワードログインを完全に無効化できます。
パスワード認証は無効化すべきですか?
インターネットに面したサーバーなら、はい ── 別のセッションで鍵ログインが機能することを確認した後に。PasswordAuthentication no を設定し、SSH を再起動します。
スマホから SSH 鍵を使えますか?
はい。TermAI のようなアプリはデバイス上で鍵を生成し、秘密側を安全に保管し、公開鍵をサーバーにデプロイできます。
どの鍵タイプを使うべきですか?
Ed25519 ── 現代的で短く、推奨されます。サーバーが古すぎて Ed25519 をサポートできない場合のみ RSA 4096 を使いましょう。
クイックファクト
- より安全:SSH 鍵(秘密鍵はデバイスから決して出ない;総当たり不可)
- 最良の構成:鍵 + サーバーで
PasswordAuthentication no - パスワードで OK:一回限りのクイック接続と LAN 専用マシン
- 鍵タイプ:Ed25519
- スマホから:アプリ内で鍵を生成 + デプロイ(例:TermAI のワンタップデプロイ)
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.