在MAC Monterey上,git克隆工作,但git推送失败,因为它在推送上使用了错误的ssh密钥



My~/.ssh/config有这个条目

Host personal
HostName github.com
IdentityFile ~/.ssh/id_ed25519personalgithub
IdentitiesOnly yes

我使用进行git克隆

git clone git@personal:deanhiller/testwithexecutor-all.git

这很好。我的.git/config文件像一样正确

[remote "origin"]
url = git@personal:deanhiller/testwithexecutor-all.git
fetch = +refs/heads/*:refs/remotes/origin/*

然而,当我用git-push时,我会得到这个错误

dean@Deans-MacBook-Pro testwithexecutor-all % git push
ERROR: Permission to deanhiller/testwithexecutor-all.git denied to deancompanyuser

它使用了错误的用户名,而不是用户名deanhiller!!!为什么会这样?

如果我做git-config-l,我就没有用户名集(这是我想要的,这样我就可以很容易地在存储库中工作,而不需要很容易地进行克隆和推送(。我不想每次克隆repo时都不断更改用户名或设置用户名。它是从哪里抓来的???

首先,在配置文件中添加User git:

Host personal
HostName github.com
User git                                     <=====
IdentityFile ~/.ssh/id_ed25519personalgithub
IdentitiesOnly yes

这样,就可以使用personal:...而不是git@personal进行克隆
您可以使用ssh -Tv personal(而不是ssh -Tv git@personal(测试哪个用户使用该密钥进行了身份验证

其次,id_ed25519personalgithub.pub已注册到deancompanyuser的帐户,而不是deanhiller的帐户
因此,deancompanyuser无权推送到他们不拥有的存储库。

但它可以克隆deanhiller的存储库,如果该存储库是公共存储库的话。

用户deancompanyuser很可能保存在钥匙链访问上。所以打开你的Mac上的钥匙链访问并搜索关于";GitHub"并删除该条目。之后,它不应该再显示错误的用户。

相关内容

  • 没有找到相关文章