我在同一台Mac上使用两个Git帐户,一个用于工作,一个用于个人开发。我使用ssh访问帐户。我生成了SSH并将它们添加到配置文件中。
我正在使用此配置文件
Host x-GitHub
HostName github.com
User x
PreferredAuthentications publickey
IdentityFile /Users/siyum/.ssh/x-GitHub
UseKeychain yes
AddKeysToAgent yes
Host Nethsara
HostName github.com
PreferredAuthentications publickey
IdentityFile /Users/siyum/.ssh/nethsara
现在我从我的私人仓库克隆了一个私人仓库,也就是Nethsara,它克隆成功了.
我用这个克隆了
% git clone git@Nethsara:Nethsara/private-repo.git
但是当我试图提交并推动一个改变时,它给了我这个错误。
错误:权限为Nethsara/private-repo。git拒绝了x。fatal:无法从远程存储库读取。
请确保您具有正确的访问权限并且存储库存在。
我的全局用户名已设置为Nethsara。
% git config --global www.example.com Nethsara
会出什么问题呢?
1条答案
按热度按时间7rtdyuoh1#
我看到了一些你能解决的问题。
首先,使用用户名
git
建立到GitHub all 的SSH连接。将~/.ssh/config
更改为包含User git
行而不是User x
,或者删除该行,并确保所有远程都在自定义主机名之前包含git@
。第二,由于您使用多个身份,因此将
IdentitiesOnly yes
添加到每个节中。这将防止代理甚至与其他已知的身份麻烦,只使用配置文件中指定的一个。最后,您可以使用
ssh -T git@x-GitHub
和ssh -T git@Nethsara
测试到GitHub的SSH连接-如果在~/.ssh/config
中正确配置,您应该会收到一条消息,其中包含每个正确的GitHub用户名。