繁体   English   中英

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

[英]on MAC Monterey, git clone working but git push fails because it uses wrong ssh key on push?

我的 ~/.ssh/config 有这个条目

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

我用 git 克隆

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

这很好用。 My.git/config 文件像这样正确

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

但是,当我 git 推送时,我收到此错误

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

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

如果我执行 git config -l,我没有设置用户名(希望这样我可以轻松地从存储库中工作,而不会很容易地克隆和推送)。 我不想在每次克隆存储库时都更改用户名或设置用户名。 它甚至从哪里抢了deancompanyuser???

用户deancompanyuser很可能保存在您的Keychain Access中。 因此,在 Mac 上打开 Keychain Access 并搜索“GitHub”并删除该条目。 之后,它不应再显示错误的用户。

首先,在您的配置文件中添加用户 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无权推送到他们不拥有的存储库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM