# Permission denied
# git@gitee.com: Permission denied (publickey)
客户端存在多个 SSH-Key,一个用于 GitHub,一个用于 gitee。
针对不同的服务器未设置对应使用的私钥时,执行下面的测试命令报错:
$ ssh -T git@gitee.com
git@gitee.com: Permission denied (publickey).
How to fix?
根据需要生成多个 SSH-Key。
# for github
ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
# for gitee
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
将对应的公钥添加到服务器上。
然后,在 ~/.ssh
目录下的 config
文件中(不存在则创建),添加如下内容:
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
注意,指定的私钥要和上面指定的公钥相对应。
# You do not have permission push to this repository
在正确的设置好公钥后,可以正确的通过 ssh
连接服务器,但是在推送时报错。
$ git push origin master
remote: You do not have permission push to this repository
fatal: unable to access '<remote-url>': The requested URL returned error: 403
How to fix?
在 Windows 中,凭据管理器可以使你能够查看和删除用于登录网站、连接的应用程序和网络的已保存凭据。
在任务栏上的搜索框中键入“凭据管理器”,然后选择“凭据管理器控制面板”。
选择“Windows 凭据”配置凭据。
点击添加普通凭证,根据要求输入相应的网络地址、用户名和密码。