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

Windows环境Jenkins/Git问题:主节点无法克隆仓库,从节点可正常克隆

解决Jenkins主节点(本地系统账户)SSH克隆GitHub仓库失败的问题

嘿,我遇过几乎一模一样的场景!问题出在本地系统账户的运行环境和普通用户完全不一样——Jenkins主节点用这个账户跑的时候,找不到正确的SSH密钥,环境变量也不对,这就是它和从节点(专用LOGON\jenkins账户)的核心区别。下面一步步给你搞定:

1. 先找对本地系统账户的“家目录”

Windows的本地系统账户默认用户目录是 C:\Windows\System32\config\systemprofile,不是咱们平时用的C:\Users\<你的用户名>。GitHub的SSH密钥必须放在这个目录下的.ssh文件夹里,不然Jenkins根本找不到。

2. 把SSH密钥放到正确位置

  • 如果还没生成GitHub的SSH密钥,得用本地系统账户来生成:先下载Sysinternals的psexec工具,打开管理员cmd,运行psexec -s cmd.exe,这就进入了系统账户的命令行。然后执行:
    ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱@xxx.com"
    
    一路回车就行,别设密码(要是设了密码,后续还要配置ssh-agent,系统账户下这个有点麻烦,建议先不设)。
  • 要是你已经有能用的密钥(比如从从节点复制过来),直接把id_rsa(私钥)和id_rsa.pub(公钥)复制到C:\Windows\System32\config\systemprofile\.ssh目录里。

3. 给密钥文件设对权限(这步很关键!)

Windows对SSH私钥的权限要求特别严,必须只有系统账户能访问:

  • 右键id_rsa文件 → 属性 → 安全 → 高级
  • 点击“禁用继承”,然后删除所有不是SYSTEM账户的权限,只留SYSTEM的完全控制权限。

4. 先手动验证SSH连接

还是在刚才的系统账户cmd里,执行:

ssh -T git@github.com

要是看到Hi <你的GitHub用户名>! You've successfully authenticated, but GitHub does not provide shell access.,说明SSH这部分没问题了。

5. 配置Jenkins主节点的Git和凭据

  • 进Jenkins的「全局工具配置」,找到Git的配置,确保路径是对的(比如C:\Program Files\Git\bin\git.exe)。
  • 检查「全局凭据」,确认已经添加了对应的SSH私钥凭据,然后在你的Job配置里选对这个凭据。

6. 要是还不行的额外排查点

  • 看Jenkins主节点的日志,找更详细的错误——比如会不会是找不到ssh.exe?那得给系统账户的环境变量PATH加上Git的bin目录(C:\Program Files\Git\bin)。
  • 把GitHub插件更到最新版本,有时候旧插件会有兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:08:36