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

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年ごとに実施されることがあります。

鍵ローテーションとは

鍵を定期的に更新する運用です。

長期間同じ鍵を使い続けることを避けます。

以下の流れで行います。

  1. 新鍵作成
  2. 公開鍵登録
  3. 動作確認
  4. 旧鍵削除

重要システムでは推奨されます。

ED25519の利用を推奨

現在はED25519が主流です。

$ ssh-keygen -t ed25519

RSAより短い鍵長で高い安全性を実現できます。

古いアルゴリズムに注意

以下は利用を避けることが推奨されています。

  • DSA
  • ssh-rsa(古い設定)

OpenSSHの推奨設定を確認しましょう。

SSH証明書という選択肢

大規模環境ではSSH証明書を利用することもあります。

証明書ベースの認証を行うことで、公開鍵管理の負担を軽減できます。

大企業やクラウド事業者で採用されています。

アクセスログを確認する

誰が接続したか確認しましょう。

# journalctl -u sshd

または
# tail -f /var/log/secure

不審な接続を早期発見できます。

MFAとの組み合わせ

より高い安全性を求める場合はMFAを導入します。

例です。

  • 公開鍵認証
  • ワンタイムパスワード

多層防御が実現できます。

クラウド環境での管理

AWSやAzureでも公開鍵管理は重要です。

特に複数管理者が存在する環境では、鍵の登録状況を定期的に確認しましょう。

不要なアクセス権を放置しないことが重要です。

監査で確認されるポイント

  • 退職者鍵の削除
  • 共有鍵の有無
  • アクセス権管理
  • 鍵管理台帳

企業監査では頻繁に確認されます。

実務で推奨される運用

  • ED25519利用
  • 個別鍵運用
  • パスフレーズ設定
  • 定期棚卸し
  • 鍵ローテーション
  • MFA導入

これらを組み合わせることで安全性が向上します。

よくある失敗例

  • 退職者の鍵が残る
  • 共有鍵を利用する
  • 秘密鍵をGitへ登録する
  • 鍵の所有者が不明になる

どれも実際によく発生する問題です。

まとめ

SSH公開鍵認証は非常に安全な認証方式ですが、鍵の管理を適切に行うことが前提となります。

不要な公開鍵の削除、個別鍵運用、秘密鍵保護、定期棚卸しなどを実施することで安全性を維持できます。

特に企業環境では監査や退職者対応も含めた運用ルールの整備が重要です。

公開鍵認証を導入しただけで安心せず、継続的な鍵管理を意識して安全なSSH運用を実現しましょう。