SSH Identity Fileの管理
複数のSSH Identity Fileを管理するベストプラクティス。鍵の生成、ファイルパーミッション、IdentitiesOnly、サービスごとの鍵の整理方法を解説します。
Authentication
詳細な説明
SSH Identity Fileの管理
接続するサーバーやサービスが増えるにつれ、SSH鍵の管理がますます重要になります。
推奨される鍵の命名規則
~/.ssh/
id_ed25519_github
id_ed25519_work
id_ed25519_aws
config
複数Identity Fileの設定
Host github.com
IdentityFile ~/.ssh/id_ed25519_github
IdentitiesOnly yes
Host *.internal.company.com
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
Host *
AddKeysToAgent yes
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnlyの重要性
IdentitiesOnly yesがないと、SSHはエージェントに読み込まれたすべての鍵をサーバーに送信します。サーバーは失敗した鍵の試行回数が多すぎると接続を拒否する可能性があります。
ファイルパーミッション
| パス | パーミッション | コマンド |
|---|---|---|
~/.ssh/ |
700 | chmod 700 ~/.ssh |
| 秘密鍵 | 600 | chmod 600 ~/.ssh/id_* |
| 公開鍵 | 644 | chmod 644 ~/.ssh/*.pub |
config |
600 | chmod 600 ~/.ssh/config |
ユースケース
複数のサーバー、クラウドインスタンス、Gitホスティングサービスへのアクセスを、それぞれ別のSSH鍵で管理するシステム管理者や開発者。