ツー

日常の記録

同じ端末で秘密鍵を複数用意してそれぞれの鍵でGitHubに接続する

複数の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発!アプリ開発会社の技術ブログ