Windows下SSH验证成功但Git克隆GitHub仓库提示权限拒绝问题
Windows下SSH验证成功但Git Clone失败的解决方案
已完成GitHub SSH配置,ssh -T git@github.com验证通过,但执行git clone时提示Permission denied (publickey),该问题仅在Windows系统出现,Linux下正常。
以下是针对性的解决方法:
- 统一Git与系统的SSH程序
Windows下Git可能自带独立的OpenSSH环境,和系统默认的SSH密钥路径不一致。执行以下命令查看Git使用的SSH详情:
git config --global core.sshCommand "ssh -v" git clone git@github.com:1234ru/<myrepo>.git
在输出中确认是否加载了正确的密钥文件(如~/.ssh/id_rsa)。若路径不符,可指定Git使用系统SSH:
git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
或直接指定密钥文件路径:
git config --global core.sshCommand "ssh -i ~/.ssh/id_rsa"
- 启动并配置OpenSSH代理服务
Windows的OpenSSH代理未启动可能导致密钥未被正确加载:
- 按Win+R输入
services.msc,找到OpenSSH Authentication Agent - 设置启动类型为「自动」,启动服务
- 执行命令添加密钥到代理:
ssh-add ~/.ssh/id_rsa
核对仓库地址拼写
注意git clone命令中的仓库名是<myrepo>,而远程地址配置中是<my-repo>,需确认仓库名完全一致(GitHub仓库名区分大小写)。清理Windows缓存的GitHub凭据
系统可能缓存了旧的验证凭证导致冲突:
- 打开「控制面板→用户账户→凭据管理器→Windows凭据」
- 删除所有与GitHub相关的条目,重新执行clone命令
- 确认密钥的仓库访问权限
登录GitHub后台「Settings→SSH and GPG keys」,核对当前使用的SSH密钥是否已添加到账户,且账户拥有目标仓库的访问权限(个人仓库默认具备权限)。
内容的提问来源于stack exchange,提问作者1234ru
相关产品推荐
相关产品推荐

