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

Jenkins控制器可连Git但代理节点失败(Permission denied (publickey))

Jenkins代理节点Git克隆失败的原因分析
  • 执行用户身份不匹配
    报错显示以ubuntu用户身份连接GitHub,但Jenkins在代理节点执行任务时,通常使用专属的jenkins用户(或自定义的代理执行用户)。你配置的SSH密钥可能是放在ubuntu用户的~/.ssh目录下,而非Jenkins执行用户的目录,导致Git无法读取正确的密钥。需确认代理节点上Jenkins进程的运行用户,将密钥移至该用户的~/.ssh目录,并设置密钥文件权限为600(chmod 600 ~/.ssh/id_rsa)。

  • SSH密钥未加载到ssh-agent
    即使密钥路径正确,若未加载到ssh-agent中,Git连接时无法自动调用密钥。可在代理节点切换至Jenkins执行用户,执行ssh-add ~/.ssh/你的密钥文件名加载密钥;同时在Jenkins任务中添加ssh-agent步骤,绑定对应的凭据,确保任务执行时能访问到密钥。

  • Git配置未对执行用户生效
    你配置的Git用户名和邮箱可能仅对ubuntu用户生效,而非Jenkins执行用户。切换至Jenkins执行用户,执行以下命令配置全局Git信息:

    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
    
  • GitHub端权限配置错误
    检查添加至GitHub的公钥是否为代理节点Jenkins执行用户的公钥,避免复制不全或错误。若为组织仓库,需确认该密钥对应的用户/部署密钥拥有仓库的读取权限;部署密钥需确保已正确关联目标仓库。

  • SSH配置存在冲突
    代理节点的~/.ssh/config可能存在错误配置,比如将GitHub的User设为ubuntu(正确应为git),导致连接身份错误。可修改配置文件:

    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/你的密钥文件
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:55:14