複数のGitHubアカウントでSSHを使う
個人用と仕事用の複数のGitHubアカウントで、別々の鍵とHostエイリアスを使ってSSHを設定する方法。デュアルアカウントの開発者に必須です。
Authentication
詳細な説明
複数GitHubアカウントのSSH管理
多くの開発者が個人プロジェクトと仕事用に別々のGitHubアカウントを持っています。GitHubはSSH鍵で識別するため、アカウントを切り替えるには異なる鍵とHostエイリアスが必要です。
設定例
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_personal
IdentitiesOnly yes
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
IdentitiesOnly yes
仕組み
両方のHostエントリがHostNameとしてgithub.comを指しますが、それぞれ異なるSSH鍵を使用します。IdentitiesOnly yesが重要です。これがないと、SSHがエージェント内のすべての鍵を提供し、間違ったアカウントで認証される可能性があります。
Gitリモートの更新
標準のリモートURL git@github.com:myorg/project.git の代わりに、Hostエイリアスを使用します:
git@github-work:myorg/project.git
リポジトリごとのGit設定
cd ~/work/project
git config user.email "work@company.com"
git config user.name "Your Work Name"
ユースケース
個人のオープンソースプロジェクトと会社のプライベートリポジトリの両方に別々のアカウントでGitHubに貢献する開発者。