SSH公開鍵管理の注意点|安全な運用で見落としやすいポイントを解説

目次
SSH公開鍵管理の注意点を理解して安全な運用を実現しよう
SSH公開鍵認証は現在のLinuxサーバ運用において標準的な認証方式となっています。
パスワード認証よりも安全性が高く、総当たり攻撃にも強いため、多くの企業やクラウド環境で採用されています。
しかし、公開鍵認証を導入しただけで安全になるわけではありません。
鍵の管理方法を誤ると、不正アクセスや情報漏洩の原因になることがあります。
本記事ではSSH公開鍵運用で見落としやすい管理上の注意点や、実務で推奨されるベストプラクティスについて解説します。
SSH公開鍵認証のおさらい
公開鍵認証では以下の2つの鍵を利用します。
- 公開鍵(Public Key)
- 秘密鍵(Private Key)
公開鍵はサーバへ登録し、秘密鍵は利用者が保持します。
秘密鍵を持つユーザーだけが認証に成功します。
公開鍵は安全だから管理不要なのか
公開鍵そのものは秘密情報ではありません。
そのため漏洩しても直ちに危険になるわけではありません。
しかし管理を怠ると別の問題が発生します。
- 不要なアクセス権が残る
- 退職者が接続できる
- 誰の鍵か分からなくなる
- 監査対応が困難になる
実務では適切な管理が重要です。
authorized_keysを放置しない
SSH公開鍵は通常以下に登録されます。
~/.ssh/authorized_keys長期間運用していると多数の鍵が登録されることがあります。
不要な鍵は定期的に削除しましょう。
退職者や異動者の鍵を削除する
企業環境で最も重要なポイントです。
退職者の公開鍵が残ったままだと、秘密鍵を保持している限り接続可能です。
人事異動や担当変更時にも見直しが必要です。
鍵の所有者を明記する
公開鍵にはコメントを付与できます。
例です。
ssh-ed25519 AAAAC3...
yamada@example.com誰の鍵なのか分かるようにしましょう。
共有鍵を利用しない
複数人で同じ秘密鍵を利用する運用は避けるべきです。
問題点です。
- 利用者特定ができない
- 監査対応できない
- 鍵漏洩時の影響が大きい
ユーザーごとに個別鍵を発行することが重要です。
秘密鍵の保護も重要
公開鍵管理と同時に秘密鍵管理も必要です。
秘密鍵が漏洩すると公開鍵認証は無意味になります。
以下を実施しましょう。
- パスフレーズ設定
- アクセス権制限
- バックアップ管理
パスフレーズを設定する
秘密鍵作成時にはパスフレーズ設定を推奨します。
ssh-keygen -t ed25519秘密鍵が盗まれても利用されにくくなります。
秘密鍵の権限を確認する
秘密鍵には適切な権限を設定します。
$ chmod 600 ~/.ssh/id_ed25519他ユーザーから読み取れないようにします。
GitHubへ誤公開しない
実務で意外と多い事故です。
秘密鍵をGitHubへコミットしてしまうケースがあります。
秘密鍵は絶対に公開してはいけません。
.gitignoreの活用も重要です。
鍵の棚卸しを実施する
定期的に以下を確認します。
- 利用者一覧
- 登録済み公開鍵
- 不要アカウント
- 退職者情報
企業では半年~1年ごとに実施されることがあります。
鍵ローテーションとは
鍵を定期的に更新する運用です。
長期間同じ鍵を使い続けることを避けます。
以下の流れで行います。
- 新鍵作成
- 公開鍵登録
- 動作確認
- 旧鍵削除
重要システムでは推奨されます。
ED25519の利用を推奨
現在はED25519が主流です。
$ ssh-keygen -t ed25519RSAより短い鍵長で高い安全性を実現できます。
古いアルゴリズムに注意
以下は利用を避けることが推奨されています。
- DSA
- ssh-rsa(古い設定)
OpenSSHの推奨設定を確認しましょう。
SSH証明書という選択肢
大規模環境ではSSH証明書を利用することもあります。
証明書ベースの認証を行うことで、公開鍵管理の負担を軽減できます。
大企業やクラウド事業者で採用されています。
アクセスログを確認する
誰が接続したか確認しましょう。
# journalctl -u sshd
または
# tail -f /var/log/secure不審な接続を早期発見できます。
MFAとの組み合わせ
より高い安全性を求める場合はMFAを導入します。
例です。
- 公開鍵認証
- ワンタイムパスワード
多層防御が実現できます。
クラウド環境での管理
AWSやAzureでも公開鍵管理は重要です。
特に複数管理者が存在する環境では、鍵の登録状況を定期的に確認しましょう。
不要なアクセス権を放置しないことが重要です。
監査で確認されるポイント
- 退職者鍵の削除
- 共有鍵の有無
- アクセス権管理
- 鍵管理台帳
企業監査では頻繁に確認されます。
実務で推奨される運用
- ED25519利用
- 個別鍵運用
- パスフレーズ設定
- 定期棚卸し
- 鍵ローテーション
- MFA導入
これらを組み合わせることで安全性が向上します。
よくある失敗例
- 退職者の鍵が残る
- 共有鍵を利用する
- 秘密鍵をGitへ登録する
- 鍵の所有者が不明になる
どれも実際によく発生する問題です。
まとめ
SSH公開鍵認証は非常に安全な認証方式ですが、鍵の管理を適切に行うことが前提となります。
不要な公開鍵の削除、個別鍵運用、秘密鍵保護、定期棚卸しなどを実施することで安全性を維持できます。
特に企業環境では監査や退職者対応も含めた運用ルールの整備が重要です。
公開鍵認証を導入しただけで安心せず、継続的な鍵管理を意識して安全なSSH運用を実現しましょう。






