SSHのキーの置き場所は決まっているのか?
こんにちは。ゆうせいです。
SSHキーを使うとき、「どこに保存すればいいの?」と疑問に思うことはありませんか?
また、SSHの鍵を複数持つ方法についても解説します。
SSHの鍵を複数持つ方法
SSHの鍵を作成するとデフォルトでは ~/.ssh/id_rsa
(または id_ecdsa
, id_ed25519
など)に保存されます。同じ名前で新しい鍵を作成すると、既存の鍵が上書きされてしまいます。
しかし、SSHでは複数の鍵を管理することが可能です。以下の方法で実現できます。
1. 鍵を異なるファイル名で作成する
デフォルトの id_rsa
以外の名前を指定すれば、上書きを避けられます。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_custom_key
このコマンドでは、~/.ssh/my_custom_key
と ~/.ssh/my_custom_key.pub
という鍵ペアが作成されます。
2. SSH設定ファイル (~/.ssh/config
) で管理する
複数の鍵を持つ場合、SSH の設定ファイルにエイリアスを設定すると便利です。
設定手順
~/.ssh/config
を作成または編集
nano ~/.ssh/config
- 以下のように記述する(例:
github.com
とgitlab.com
で異なる鍵を使用)
Host github
HostName github.com
User git
IdentityFile ~/.ssh/github_rsa
Host gitlab
HostName gitlab.com
User git
IdentityFile ~/.ssh/gitlab_rsa
ssh -T git@github
やssh -T git@gitlab
で接続確認
3. ssh-add
を利用する
SSHエージェントに複数の鍵を登録することも可能です。
ssh-add ~/.ssh/my_custom_key
ssh-add ~/.ssh/another_key
登録されている鍵を確認するには、以下のコマンドを実行します。
ssh-add -l
SSHエージェントに登録した鍵は、~/.ssh/config
で特定のサーバーに適用するように設定できます。
SSHの鍵の置き場所
SSHの鍵のデフォルトの保存場所は ~/.ssh/
ディレクトリです。通常、以下のようなファイルが存在します。
ファイル名 | 説明 |
---|---|
id_rsa / id_ed25519 | 秘密鍵 |
id_rsa.pub / id_ed25519.pub | 公開鍵 |
authorized_keys | SSH接続を許可する公開鍵リスト |
config | SSHの接続設定 |
known_hosts | 過去に接続したホストのリスト |
ただし、鍵の保存場所は IdentityFile
オプションを使うことで変更可能です。
まとめ
- 異なるファイル名で鍵を作成する(
-f
オプションを使う) ~/.ssh/config
に複数の鍵を設定する(IdentityFile
を指定)ssh-add
でSSHエージェントに鍵を登録する
この方法を使えば、GitHub, GitLab, AWS, サーバーごとに異なるSSH鍵を管理できます!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。