GitHubのSSHのRSA鍵は何に紐付いているのか?
こんにちは。ゆうせいです。
GitHubでSSH接続を使うとき、RSA鍵(SSHキー)は何に紐付いているのか 気になりますよね。
✅ 「SSHの鍵はパソコンごと?」
✅ 「アプリケーション(SourceTreeなど)ごと?」
✅ 「リポジトリごと?」
結論を言うと、GitHubのSSHのRSA鍵は「GitHubアカウント」に紐付いています。
詳細を解説していきます!
1. SSHの鍵はどこに紐付く?
GitHubのSSHキーは、基本的に パソコン(ローカル環境) で作成され、
GitHubアカウント に登録することで紐付けられます。
紐付く対象 | 説明 |
---|---|
✅ GitHubアカウント | SSH鍵はGitHubアカウントに登録される(最も重要!) |
✅ パソコンごと | 鍵はローカルPCの ~/.ssh/ に保存される |
❌ アプリケーションごと(SourceTreeなど) | SSHキーはアプリとは関係なし(設定すれば使えるが、直接の紐付けはない) |
❌ リポジトリごと | SSHキーは個別のリポジトリには紐付かない(リポジトリ単位の設定は可能) |
2. SSH鍵の仕組み
SSH鍵の仕組みを簡単に説明すると、次のようになります。
(1) パソコンでSSH鍵を作成
パソコン上でSSHの公開鍵と秘密鍵のペアを作成します。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
これにより、以下のファイルが ~/.ssh/
に生成されます。
- 秘密鍵(private key) →
id_rsa
(これを外に出さない!) - 公開鍵(public key) →
id_rsa.pub
(GitHubに登録する)
(2) GitHubアカウントにSSH鍵を登録
SSH鍵は、GitHubの特定のアカウント に登録されます。
📌 GitHubで登録する手順
- GitHubにログイン
Settings
→SSH and GPG keys
New SSH Key
をクリックid_rsa.pub
の内容を貼り付けるAdd SSH Key
を押す
🚀 これで、GitHubアカウントに紐付いた!
(3) SSH接続を確認
GitHubに正しくSSH鍵が登録されているかを確認します。
ssh -T git@github.com
✅ 成功すると次のようなメッセージが出る
Hi your-github-username! You've successfully authenticated, but GitHub does not provide shell access.
3. SSH鍵の紐付きと使い方
① SSH鍵はパソコンごと
- SSH鍵は、各パソコンの
~/.ssh/
ディレクトリに保存されます。 - 異なるパソコンでは、別のSSH鍵を作成し、GitHubに登録する必要がある。
- 1つのGitHubアカウントに複数のSSH鍵を登録できる!
- 例:
id_rsa_home.pub
(自宅PC用) /id_rsa_work.pub
(仕事PC用)
- 例:
② SSH鍵はSourceTreeのようなアプリとは関係なし
- SSH鍵はSourceTreeのようなGitクライアントとは直接の関係なし。
- ただし、SourceTreeの設定で
SSHキーのパス
を指定すれば使える。 - SourceTreeは、登録されたSSH鍵を使ってGitHubと通信するだけ。
③ SSH鍵はリポジトリごとには紐付かない
- SSH鍵は、GitHubの特定のアカウントに紐付く。
- そのため、GitHub上のすべてのリポジトリで使える。
- ただし、「デプロイ鍵(Deploy Key)」を使えば、特定のリポジトリ専用の鍵を作成することも可能。
📌 デプロイ鍵(Deploy Key)とは?
- リポジトリ単位で使うSSH鍵。
- 読み取り専用の鍵をリポジトリに登録できる。
- 特定のリポジトリだけを外部のサーバーからクローンしたい場合に便利!
登録方法:
GitHubのリポジトリ → Settings
→ Deploy keys
→ Add deploy key
4. よくある質問
Q1. 1つのSSH鍵を複数のGitHubアカウントで使える?
→ できない!(原則)
GitHubの1つのSSH鍵は1つのアカウントにしか登録できない。
もし複数のGitHubアカウントを使う場合は、別々のSSH鍵を作成して設定する必要がある。
Q2. 1つのGitHubアカウントに複数のSSH鍵を登録できる?
→ できる!
例えば、自宅PCと会社PCの2台でGitHubを使う場合、それぞれのSSH鍵をGitHubに登録できる。
Q3. SSH鍵をリポジトリごとに使い分けるには?
→ ~/.ssh/config
で設定する!
複数のSSH鍵を使い分けたい場合は、 ~/.ssh/config
に設定を追加する。
Host github-home
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_home
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work
使い分けるときはリモートURLを変更
git remote set-url origin git@github-home:your-username/repo.git
5. まとめ
対象 | SSH鍵との関係 |
---|---|
✅ GitHubアカウント | SSH鍵はアカウントに紐付く(最重要) |
✅ パソコンごと | 各PCでSSH鍵を作成し、GitHubに登録 |
❌ SourceTreeなどのアプリ | SSH鍵とは直接の関係なし(設定すれば使える) |
❌ リポジトリごと | SSH鍵は通常リポジトリ単位ではない(デプロイ鍵は例外) |
結論
🚀 SSH鍵は「パソコンごと」に作成され、「GitHubアカウント」に紐付く!
🚀 リポジトリごとの鍵を作る場合は「デプロイ鍵」を使う!
🚀 複数の鍵を使い分けるなら ~/.ssh/config
を設定!
これで、GitHubのSSH鍵の仕組みがスッキリ理解できましたね!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
新入社員2025年2月27日Spring Bootの起動クラスの命名規則はある?
新入社員2025年2月27日Spring Bootでポート競合エラーが出た時の対処法
新入社員2025年2月27日GitHubのSSHのRSA鍵は何に紐付いているのか?
新入社員2025年2月27日Thymeleafの th: は何の略?