Issue Description
$ git push
remote: Permission to xxx/testrepo.git denied to yyy
$ git config user.name
xxx
$ git config --global user.name
xxx
明明用户就是 xxx,但是这里提交确实尝试用 yyy 用户进行提交,然后就被拒绝了。 此外,去 github 上检查ssh key,也是已经加好了的(重新加一遍也不行)
$ cat ~/.ssh/id_rsa.pub
Root Cause
原因是 ~/.ssh/ 目录下生成了多个ssh key:
$ ls ~/.ssh/
id_ed id_ed.pub known_hosts
config id_rsa id_rsa.pub
git push 在提交时,错误得使用了其中一个公钥 id_ed.pub,也就是对应了用户 yyy
Solution
方法一 删除其中一个 ssh key
方法二 修改config文件:
Host github1
HostName github.com
User git
IdentityFile ~/.ssh/user1_rsa
IdentitiesOnly yes
Host github2
HostName github.com
User git
IdentityFile ~/.ssh/user2_rsa
IdentitiesOnly yes
Reference
https://www.cnblogs.com/v5captain/p/6590991.html
|