新人エンジニアからの質問 SSH接続の有効範囲を教えて下さい。PC単位ですか?
SSH接続の有効範囲
SSH接続の有効範囲は 「PC単位」 です。
つまり、SSHキーを設定したPC全体で有効 になり、そのPCからGitHubのすべてのリポジトリにアクセスできます。
🔹 具体的な有効範囲
単位 | 有効範囲 | 説明 |
---|---|---|
リポジトリ単位 | ❌ 適用されない | SSHキーはリポジトリごとに設定されない |
PC(ユーザー)単位 | ✅ 適用される | そのPCのユーザーがGitHubのすべてのリポジトリにアクセス可能 |
GitHubアカウント単位 | ⭕ 間接的に適用 | 同じSSHキーを複数のPCで登録すれば、複数PCからアクセス可能 |
組織・チーム単位 | ❌ 適用されない | 組織全体には影響しないが、個々のメンバーのSSHキーでアクセス可能 |
🔹 詳細な動作
1. SSHキーは「PCごと」に設定される
- SSHキー (
id_rsa
,id_rsa.pub
) は~/.ssh/
に保存されるため、PC(ユーザー)単位 で有効。 - そのため、同じPC上のすべてのGitHubリポジトリ に適用される。
確認コマンド
ls -l ~/.ssh/
(SSHキーがあるか確認)
2. 他のPCでは使えない(別PCには設定が必要)
- SSHキーは、GitHubに登録した 特定のPCのみ で有効。
- 別のPCからSSH接続したい場合は、新しいSSHキーを作成してGitHubに登録する必要がある。
他のPCでも同じSSHキーを使いたい場合
- 既存のSSH公開鍵をコピー
cat ~/.ssh/id_rsa.pub
- GitHubに登録(SSHキー設定ページ)
- 別のPCの
~/.ssh/
にid_rsa
をコピー
3. 複数のGitHubアカウントを使う場合
もし 1つのPCで複数のGitHubアカウントを使いたい 場合は、異なるSSHキーを作成して ~/.ssh/config
で管理する。
Host github-personal
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
Host github-work
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_work
使い分ける例
git clone git@github-personal:your-personal-username/repo.git
git clone git@github-work:your-work-username/repo.git
🔹 まとめ
- SSHキーは「PC単位」で有効(1つのPCで複数のリポジトリに適用)
- 別のPCでは再登録が必要(手動でコピーすれば使える)
- 複数アカウントを1つのPCで使う場合は
~/.ssh/config
で管理
PCが変わるとSSHキーの設定が必要なので、リモート環境で開発する場合は気をつけましょう! 🚀
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
