我有多个git repo(Client1,Client2,个人)。
我确实按照此处的建议配置了配置文件。
https://medium.com/@trionkidnapper/ssh-keys-with-multiple-github-accounts-c67db56f191e
现在我的配置文件具有3个不同的配置文件。
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
Host gitlab.client1.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_client_a
Host github.com/client2.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_client_b
直到昨天,一切都很好,每当我对client_a进行git pull或push时,相应的IdentityFile就会使用更改来进行pull / push。
今天,当我尝试在客户端b上执行git pull时,将使用~/.ssh/id_rsa_personal
而不是~/.ssh/id_rsa_client_b
,但由于它不是预期的版本(权限问题),所以它失败了。不确定如何指向~/.ssh/id_rsa_client_b
而不是~/.ssh/id_rsa_personal
。
有什么想法吗?
答案 0 :(得分:2)
正如Rup在评论中所说,将Host
更改为类似Host client2
的较短名称(这只是为了方便起见),将IdentitiesOnly yes
添加到每个主机,使其仅提供指定的文件,然后将远程URL设为git@client2:yourrepo.git
。