[英]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.