【问题标题】:How to debug Jenkins error message "could not find a suitable ssh-agent provider"?如何调试 Jenkins 错误消息“找不到合适的 ssh-agent 提供程序”?
【发布时间】:2014-02-16 08:28:50
【问题描述】:

我在 Win7 上使用 Jenkins,并为 ssh-agent 插件安装了 tomcat。我可以通过 ssh 通过 git bash 克隆我的 GitLab 项目。
但如果我由 Jenkins 构建项目,它总是说:

[ssh-agent] Using credentials IliptonChen(APRTest)
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent] FATAL: Could not find a suitable ssh-agent provider
FATAL:[ssh-agent] Unable to start agent

The full output text is here

我做错了什么吗?

【问题讨论】:

标签: windows git ssh jenkins


【解决方案1】:

检查您的ssh-agent used by Jenkins 的版本。
此错误(适用于 linux,但也适用于 Windows)报告(10 天前,2014 年 1 月)同样的错误消息:
JENKINS-20276: Native Library Error after upgrading ssh-agent from 1.3 to 1.4”。

降级到 1.3 解决了这个问题。


5 年后的 2019 年更新:如评论所述,现在应该修复。

ssh-agent.exeGit for Windows distribution 的一部分

D:\git\git>where ssh-agent.exe
D:\prgs\gits\current\usr\bin\ssh-agent.exe

(前提是path/to/git/usr/bin是Jenkins使用的%PATH%中的第一个)

【讨论】:

【解决方案2】:

对于windows,该插件仍然需要在master and slave中都安装Tomcat。

【讨论】:

  • 从 SSH 代理插件 1.14 开始不再需要。它可以使用可以通过PATH 环境变量找到的“sshagent.exe”(例如,来自 Git 安装)。
【解决方案3】:

假设你已经在 Windows slave 上安装了 Windows Git,它带有ssh-agent 二进制文件(例如C:\Program Files\Git\usr\bin)。尝试将其路径添加到系统变量PATH


否则取消勾选 SSH 代理 并通过从 Source Code Management 部分的下拉菜单中选择 Credentials 来选择凭据。


另一种方法是为该 GitHub 用户生成 personal API token (OAuth) 并将其与您的存储库地址一起包含,例如

git clone https://4UTHT0KEN@github.com/foo/bar

【讨论】:

【解决方案4】:

我收到此错误是因为我使用的是代理的 Ubuntu 映像,该代理没有安装 SSH。

agent {
    docker { image 'ubuntu:focal' }
}

...所以解决方案就像安装 SSH 作为管道的一部分一样简单:

steps {
    sh "apt-get update && apt-get install ssh -y"
    // rest of your steps here...
}

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 2021-12-15
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多