閉じる

GitHub接続時の証明書切り替え

クローンする場合、git clone git@github.com:OWNER/REPOSITORY.git とやるわけだけど、使用する証明書を切り替えたい場合の一工夫。
~/.ssh/config*1 で以下のように定義してやると、
git clone git@USER1:OWNER/REPOSITORY.git / git clone git@USER2:OWNER/REPOSITORY.git という感じで証明書を切り替えてクローンが可能。

host USER1
HostName github.com
User git
identityfile “~\.ssh\USER1_id_ecdsa”
host USER2
HostName github.com
User git
identityfile “~\.ssh\USER2_id_ecdsa”

TortoiseGit 等の GUIラッパーを使う場合もリモートリポジトリの URL自体切り替えて cloneしてやれば Puttyに依存しないでいけるかとも思ったけど、そうもいかず。
コミットは問題ないので、pull/pushだけ「git push git@USER1:OWNER/REPOSITORY.git」的なバッチファイルを組んで誤魔化す。

最終的には面倒になってリポジトリ毎に collaboratorsを登録するように。
それだけだとテレワークで仕事のリポジトリをいじるときでもプライベートのアカウントでプッシュされてしまうので、ローカルの configをいじって user/emailを設定してやることで仕事用のアカウントでプッシュされるように。*2


*1 Windowsの場合は C:\Users\USER\.ssh/config

*2 サブモジュールに関しても該当 configを設定してやれば globalとは独立して設定可能

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)