複数のGitHubアカウントを同じ端末で操作する際に秘密鍵を分けるための方法。
別のアカウントでも同じ秘密鍵使えないかなと思ったけどできない。当たり前か。なのでまず最初に新しく秘密鍵を作る。忘れないようにデフォルトのキーを作ったディレクトリと同じ場所にしておく。
cd ~/.ssh ssh-keygen -t rsa -C 'in company' -f id_rsa_work
次に ~/.ssh/config
に設定を追加。
Host github.com.work HostName github.com User git Port 22 IdentityFile ~/.ssh/id_rsa_work TCPKeepAlive yes IdentitiesOnly yes
次に接続確認。
ssh -T git@github.com ssh -T git@github.com.work
下記のメッセージが出ればOK。
Hi user! You've successfully authenticated, but GitHub does not provide shell access.
git cloneするときは上記の通りGitHubのURLに .work
をつければよい。
例えば記載されているURLがこうだとしたら
git clone git@github.com:moge/fuga.git
下記のように修正してgit cloneすればよい。
git clone git@github.com.work:moge/fuga.git
参考
複数のGitHubアカウントをSSH設定ファイルで切り替えて運用する方法|Playground発!アプリ開発会社の技術ブログ