GithubアカウントのSSH接続鍵を使い分ける
設定
SSHのconfigで別のHostを用意し、別の鍵を指定する
$ cat ~/.ssh/config
Host github.com Hostname github.com User git IdentitiesOnly yes IdentityFile ~/.ssh/github Host hoge.github.com Hostname github.com User git IdentitiesOnly yes IdentityFile ~/.ssh/hoge/github
Hostname
はgithub.comのままで、Host
だけ別名に変えます
接続
あとはremoteのurlに hoge.github.com
を使用すればOK
例としてhttps://github.com/tjmmm/DotFilesをcloneする場合をあげます
Host【github.com】に使用した鍵を使ってclone
git clone git@github.com:tjmmm/DotFiles.git
Host 【hoge.github.com】に使用した鍵を使ってclone
git clone git@hoge.github.com:tjmmm/DotFiles.git
既にリポジトリがある場合は git remote set-url
を使って書き換える、origin以外のurlを追加する等でも良いと思います!
なぜこんなことを?
Q: こんなのわざわざする必要あるの?
A: 事情があれば別アカウントを使用しなければならないこともあります、ありますよね。プライベートリポジトリの権限もらったりするのにアカウントがわけられてしまうとかね。(少し悲しい)
Q: 接続先の設定にSSHのconfig使うのは当たり前じゃないですか?
A: よく別ドメインのために設定したりはしてましたけど、同じドメインでも使えるじゃんみたいなのを完全に見落としてました、ということですやめやめ!!!
以上です
お疲れ様でした!