🛡 ブラウザ完結
🔐 Web Crypto API
📡 通信ゼロ
SSH鍵 vs パスワード——サーバー認証はどちらが安全で実用的か
SSHの公開鍵認証とパスワード認証の違いを安全性・運用コストで比較。SSH鍵の生成から設定まで実践的な手順も解説。
last verified: 2026-06-23
build: stable
SSHとは何か
SSH(Secure Shell)はネットワーク越しにサーバーを安全に操作するためのプロトコルだよ。認証方式には大きく「パスワード認証」と「公開鍵認証」の2種類がある。
パスワード認証の問題点
| リスク | 内容 |
|---|---|
| ブルートフォース攻撃 | インターネット上のSSHサーバーには24時間自動攻撃が来ている |
| パスワード推測 | 弱いパスワードは数秒〜数分で突破される |
| フィッシング | ソーシャルエンジニアリングでパスワードを盗まれる可能性 |
| 中間者攻撃 | 適切な検証をしないとパスワードを傍受される |
実際に公開されているSSHポート(22番)には、毎日数百〜数千回の自動ログイン試行が来るよ。パスワード認証のままでは時間の問題だ。
SSH公開鍵認証の仕組み
- ローカルで公開鍵と秘密鍵のペアを生成する
- 公開鍵をサーバーの
~/.ssh/authorized_keysに登録する - ログイン時にサーバーがランダムなチャレンジを送る
- クライアントが秘密鍵でチャレンジに署名して返す
- サーバーが公開鍵で署名を検証してログインを許可する
秘密鍵はネットワークに出ないので、たとえサーバーが侵害されても鍵を奪えない。
SSH鍵の生成手順
# Ed25519アルゴリズムで生成(推奨)
ssh-keygen -t ed25519 -C "[email protected]"
# パスフレーズを設定する(強く推奨)
# 生成された鍵:
# ~/.ssh/id_ed25519 ← 秘密鍵(絶対に外に出さない)
# ~/.ssh/id_ed25519.pub ← 公開鍵(サーバーに配置する)
サーバー側の設定
# 公開鍵をサーバーに転送
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
# /etc/ssh/sshd_config でパスワード認証を無効化
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
パスワード認証を完全に無効化することで、ブルートフォース攻撃のリスクをゼロにできるよ。
アルゴリズム選択
| アルゴリズム | 推奨度 | 備考 |
|---|---|---|
| Ed25519 | 最推奨 | 安全で高速、鍵が短い |
| ECDSA (P-256) | 推奨 | 広くサポートされている |
| RSA 4096bit | 許容 | 古いシステムとの互換性が必要な場合 |
| DSA / RSA 1024 | 使用禁止 | 安全でない |
パスワード認証との最終比較
| 比較軸 | パスワード認証 | SSH鍵認証 |
|---|---|---|
| ブルートフォース耐性 | 低 | 極めて高い |
| フィッシング耐性 | 低 | 高い |
| 管理コスト | 低 | やや高い(鍵管理が必要) |
| 自動化への適性 | 低 | 高い |
| 推奨度 | 非推奨 | 強く推奨 |
サーバー管理を行うなら、SSH鍵認証への移行とパスワード認証の無効化は最優先で実施しよう。
● よくある質問
Q.SSH鍵はどこに保管すべき?
秘密鍵(id_ed25519など)はローカルの~/.sshディレクトリに保管して、パーミッションを600にするのが基本だよ。パスフレーズで秘密鍵自体を暗号化しておくと、鍵ファイルが盗まれても安心だね。
Q.SSH鍵を複数サーバーで使いまわしていい?
1つの鍵ペアを複数サーバーで使っても技術的には問題ないけど、鍵が漏洩した場合全サーバーにアクセスされるリスクがある。重要なサーバーには別々の鍵ペアを使うのがベストプラクティスだよ。
Q.GitHub・GitLabへの接続にはSSH鍵を使うべき?
HTTPSよりSSH鍵認証の方が推奨されるよ。特にCI/CD環境ではデプロイキー(特定リポジトリへのアクセスのみを許可した鍵)を使うとセキュリティがより高まるね。
● 関連ガイド
2要素認証(2FA)の設定方法——SMS・認証アプリ・ハードウェアキーの違いも解説
2段階認証の設定手順をGoogle・Apple・Amazonを例に解説。SMS・TOTP・ハードウェアキーの安全性の違いも比較。
企業のパスワードポリシー策定ガイド——NIST・IPA推奨に基づく現代的な設計
企業向けパスワードポリシーの設計指針をNIST SP 800-63BとIPAガイドラインに基づいて解説。最低文字数・定期変更・ロックアウト設定の具体的な数値を紹介。
パスワードの定期変更は必要か——NISTが「定期変更不要」とした理由を解説
パスワードの定期変更が効果的でない理由をNIST SP 800-63Bの根拠とともに解説。本当に変更すべきタイミングと適切な変更頻度を紹介。
パスワードの文字種(文字クラス)とは——英字・数字・記号の組み合わせ効果を解説
パスワードに使う文字種(英大小文字・数字・記号)がセキュリティに与える影響をエントロピー計算で解説。実用的な文字種の選び方も紹介。
● 推奨パスワードマネージャー / Recommended
[PR]
作ったパスワードは頭で覚えるのではなく、マネージャーに任せると安全です。 編集部がふだん使っているサービスをご紹介します。
1Password
★ 4.8
洗練されたUI・Watchtower侵害通知・旅行モード搭載。Apple製品ユーザーに特に人気の老舗マネージャー。
月額 約360円〜
→ 詳しくみる ※PR
Bitwarden
★ 4.7
オープンソースで透明性が高く、無料プランでも基本機能をフルに使える。セルフホストも可能。
無料 / 月額 約130円〜
→ 詳しくみる ※PR
Keeper
★ 4.6
SOC2 Type2認証取得済み。BreachWatch によるダークウェブ監視と法人向け管理コンソールが強力。
月額 約500円〜
→ 詳しくみる ※PR
NordPass
★ 4.5
NordVPN 系列の老舗。XChaCha20 暗号化・データ漏洩スキャナ・パスワードヘルスを内蔵。日本語UI対応。
月額 約290円〜
→ 詳しくみる ※PR
Proton Pass
★ 4.4
スイス拠点・Proton Mail 系列。E2E 暗号化・メールエイリアス・2FA を1つに統合。プライバシー重視派に。
月額 約260円〜
→ 詳しくみる ※PR