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

SSH连接GitHub私有仓库失败求助:已配置密钥仍无法推拉

解决方案

针对Windows下PowerShell中Git SSH认证持久化失败的问题,按以下步骤排查修复:

1. 配置PowerShell自动加载SSH密钥

每次重启终端后需重新添加密钥,是因为PowerShell未自动启动ssh-agent并加载密钥,可通过配置Profile实现自动执行:

  • 打开PowerShell,执行命令:
    notepad $PROFILE
    
  • 若提示文件不存在,选择创建新文件,在文件中添加:
    Start-Service ssh-agent
    ssh-add $env:USERPROFILE\.ssh\你的密钥文件名  # 替换为实际私钥文件名,如id_rsa
    
  • 保存关闭后,执行. $PROFILE立即生效,或重启PowerShell。

2. 设置ssh-agent服务为自动启动

确保Windows的OpenSSH服务开机自动运行:

  • 按下Win+R,输入services.msc回车,找到OpenSSH Authentication Agent服务
  • 右键选择「属性」,将「启动类型」改为「自动」,点击「启动」后确定

3. 统一Git与PowerShell使用的SSH客户端

避免Git使用自带的SSH客户端导致与PowerShell的ssh-agent不兼容:

  • 在PowerShell中执行:
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
    

4. 修复私钥文件权限

Windows下私钥权限过宽会被SSH拒绝,需严格限制访问:

  • 找到.ssh文件夹中的私钥文件,右键「属性」→「安全」→「高级」
  • 点击「禁用继承」,选择「从此对象中删除所有继承的权限」
  • 添加当前用户账号,设置权限为「完全控制」,应用保存

额外验证

执行ssh -vT git@github.com,查看输出中是否有以下关键信息:

  • Offering public key: ...(显示加载的密钥)
  • Server accepts key: ...(服务器接受密钥)
  • Hi [你的GitHub用户名]! You've successfully authenticated...(认证成功)

若仍有问题,可提供上述命令的完整输出进一步排查。

内容的提问来源于stack exchange,提问作者kalekale

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:55:02