错误:权限为xyz/private-repo,git拒绝了x

qhhrdooz  于 2023-04-28  发布在  Git
关注(0)|答案(1)|浏览(89)

我在同一台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
会出什么问题呢?

7rtdyuoh

7rtdyuoh1#

我看到了一些你能解决的问题。
首先,使用用户名git建立到GitHub all 的SSH连接。将~/.ssh/config更改为包含User git行而不是User x,或者删除该行,并确保所有远程都在自定义主机名之前包含git@
第二,由于您使用多个身份,因此将IdentitiesOnly yes添加到每个节中。这将防止代理甚至与其他已知的身份麻烦,只使用配置文件中指定的一个。
最后,您可以使用ssh -T git@x-GitHubssh -T git@Nethsara测试到GitHub的SSH连接-如果在~/.ssh/config中正确配置,您应该会收到一条消息,其中包含每个正确的GitHub用户名。

相关问题