複数のgitアカウントでSSH接続

複数アカウントを持っている場合の、SSH接続メモ。

秘密鍵の作成

デフォルトのid_rsaはメインアカウントで利用中の前提。
サブアカウント用の秘密鍵を作成する。

$ cd ~./ssh
$ ssh-keygen -t rsa -C 'some comment' -f id_rsa_sub

これをコピーして、

$ pbcopy < ~/.ssh/id_rsa_sub.pub

SSH keys の New SSH key に追加する。
そのまま貼り付ければOK。

接続テストしてみる。

ssh -i ~/.ssh/id_rsa_sub -T git@github.com

OK。

次に、少し設定ファイルを弄る。

$ vim ~/.ssh/config

Host github.com
  HostName github.com
  User git
  Port 22
  IdentityFile ~/.ssh/id_rsa
  TCPKeepAlive yes
  IdentitiesOnly yes
Host github.com.sub
  HostName github.com
  User git
  Port 22
  IdentityFile ~/.ssh/id_rsa_sub
  TCPKeepAlive yes
  IdentitiesOnly yes

github.com.sub というホストの場合に、さきほど作った秘密鍵ペアを利用する。

これで用意OK。

$ git init
$ git add .
$ git commit -m 'first commit'
$ git remote add origin git@github.com.sub:your-sub-account/your-repo.git
$ git push --set-upstream origin master

成功!