Git SSH连接出现Permission denied(publickey):git拉取权限异常如何修复
修复Git SSH连接及Pull权限错误
核心问题说明
GitHub的SSH认证机制仅接受git@github.com作为连接用户,你用自己的GitHub用户名(如xxx@github.com)执行ssh -T命令失败是正常现象,这不是导致git pull权限错误的原因。真正的问题出在Git仓库的远程地址配置或密钥关联上。
修复步骤
检查当前仓库的远程地址配置
执行命令:git remote -v查看输出的fetch和push地址是否为
git@github.com:<你的GitHub用户名>/<仓库名>.git格式。如果地址中使用了你的用户名而非git,则会引发权限问题。修正远程仓库地址
如果远程地址不符合要求,执行以下命令修改(替换占位符为实际信息):git remote set-url origin git@github.com:<你的GitHub用户名>/<仓库名>.git验证SSH连接有效性
再次执行标准验证命令,确认密钥正常关联:ssh -T git@github.com正常输出应为:
Hi <你的用户名>! You've successfully authenticated, but GitHub does not provide shell access.测试
git pull操作
完成上述配置后,执行git pull即可正常拉取仓库内容。
额外排查点(若问题仍存在)
- 确认本地SSH公钥与GitHub账号中添加的公钥一致:执行
cat ~/.ssh/id_rsa.pub查看公钥内容,对比GitHub账号的SSH密钥设置。 - 确保SSH代理正常运行并加载了私钥:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa - 检查目标仓库的权限设置,确认你的GitHub账号拥有该仓库的拉取权限。
内容的提问来源于stack exchange,提问作者user7431590
相关产品推荐
相关产品推荐

