Git克隆遇Permission denied(publickey)求助:SSH已认证仍失败
问题排查方案
1. 核对仓库地址与权限
- 先确认克隆命令里的地址
git@github.com:org/repo.git完全正确:组织名、仓库名的拼写、大小写都要和GitHub上的一致(GitHub地址大小写敏感)。 - 登录GitHub网页端访问
https://github.com/org/repo,确认你的账号是否有该仓库的访问权限:如果是私有仓库,你需要被添加为仓库协作者,或者加入组织内拥有该仓库访问权限的团队。
2. 验证Git是否使用了正确的SSH密钥
虽然ssh -T git@github.com认证成功,但Git可能没有调用正确的密钥文件:
- 执行
git config --get core.sshCommand,如果返回非空值,说明Git指定了特定SSH命令,可能未指向你的id_rsa密钥。 - 临时指定密钥测试克隆:
如果该命令成功,说明Git默认未使用正确密钥,可修改全局配置固定:GIT_SSH_COMMAND="ssh -i C:\Users\admin\.ssh\id_rsa" git clone git@github.com:org/repo.gitgit config --global core.sshCommand "ssh -i C:\Users\admin\.ssh\id_rsa"
3. 排查Windows SSH代理或密钥缓存问题
- 重启SSH代理服务:打开命令提示符执行
重新添加密钥:net stop ssh-agent net start ssh-agentssh-add C:\Users\admin\.ssh\id_rsa - 检查是否有其他密钥干扰:如果
.ssh目录下有多个密钥文件,SSH代理可能优先使用了无权限的密钥。可暂时将其他密钥移至目录外,再测试克隆。
4. 确认仓库真实存在
部分拼写错误(比如组织名写错)会伪装成权限问题,直接在GitHub网页端搜索该仓库,确认它确实存在且归属正确的组织。
内容的提问来源于stack exchange,提问作者user5405648
相关产品推荐
相关产品推荐

