You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH可连接GitHub但无法克隆仓库的问题求助

GitHub SSH克隆权限拒绝问题排查(测试连接正常但克隆失败)

以下是针对该问题的排查方向和解决步骤:

1. 核对仓库SSH地址的准确性

  • 确保克隆命令中的git@github.com:<user>/<repo_name>.git完全正确,重点检查<user>(组织名/用户名)和<repo_name>的拼写、大小写(虽然GitHub仓库名不区分大小写,但SSH地址中的用户名/组织名错误会直接导致权限验证失败)。
  • 建议直接从GitHub仓库页面的「Code」按钮复制官方提供的SSH地址,避免手动输入出错。

2. 检查SSH配置文件是否指定了错误密钥

Windows系统的SSH配置文件位于C:\Users\<你的用户名>\.ssh\config,如果该文件存在:

  • 查看是否有针对github.com的配置段,例如:
    Host github.com
        IdentityFile C:\Users\<你的用户名>\.ssh\other_key
    
    这种配置会强制git克隆时使用指定的密钥,而非ssh-agent中已添加的正确密钥。解决方式是修改IdentityFile路径为你的目标私钥,或者删除该配置段。

3. 确认账号对目标仓库的SSH访问权限

HTTP克隆正常仅说明你有仓库的读取权限,但SSH权限需额外验证:

  • 确认你在GitHub上添加的SSH密钥所属的账号,是否被添加为目标仓库的协作者,或者该账号所在的团队拥有仓库的访问权限(私有仓库需此操作,公开仓库无需但仍需确保密钥对应账号正确)。
  • 检查组织的SSH权限设置:部分组织会限制外部账号的SSH访问,需确认你的账号在组织内的权限配置。

4. 排查git的SSH命令配置

  • 执行命令git config --global core.sshCommand,查看是否设置了自定义SSH命令。如果输出内容指定了错误的密钥路径或代理,会导致克隆时无法使用ssh-agent中的密钥。
  • 若存在异常配置,执行git config --global --unset core.sshCommand清除该设置,再尝试克隆。

5. 重置ssh-agent并重新添加密钥

ssh-agent的缓存可能出现异常,按以下步骤操作:

# 停止ssh-agent服务
Get-Service ssh-agent | Stop-Service
# 启动ssh-agent服务
Get-Service ssh-agent | Start-Service
# 重新添加你的私钥
ssh-add C:\Users\<你的用户名>\.ssh\<你的私钥文件名>

完成后再次尝试克隆操作。

6. 更新Windows OpenSSH客户端版本

旧版本OpenSSH可能存在兼容性问题:

  • 打开Windows设置→应用→可选功能,找到「OpenSSH客户端」,查看版本并更新至最新版,之后重启终端再测试。

内容的提问来源于stack exchange,提问作者Eugenio.Gastelum96

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:47:45