首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins ssh-agent找不到凭据

Jenkins ssh-agent找不到凭据
EN

Stack Overflow用户
提问于 2017-05-09 12:38:24
回答 1查看 6.9K关注 0票数 7

我正在尝试使用ssh-agent从脚本的Jenkins管道将提交推到远程git存储库。

我已经安装了插件,并将SSH私钥添加到Jenkins的凭据部分。THe下面的代码片段来自实例化并从Jenkinsfile调用的Groovy类:

代码语言:javascript
复制
stages.sshagent(credentials:['26954b1f-2e32-4b4b-8923-3b7a9fbac6c9']) {
    stages.sh "git push origin ${branchName}"
}

注意:stages只是Jenkinsfile中这个阶段的表示。该类编译良好,但每次都显示以下错误消息:

代码语言:javascript
复制
FATAL: [ssh-agent] Could not find specified credentials

如果我对git客户端使用凭据,那么它可以正常工作,但不幸的是,这不支持git推送。

EN

回答 1

Stack Overflow用户

发布于 2019-12-10 22:52:57

这个问题有几天(944天)没有答案,我认为你可能已经解决了这个问题,但只是为了记录在案。我认为您遇到的问题是您没有在代码中指示凭据ID,或者ID 26954b1f-2e32-4b4b-8923-3b7a9fbac6c9不是正确的。

要向Jenkins添加私钥,请转到:

Jenkins >凭据> System >全局凭据 选择带有私钥的SSH用户名,然后在ID字段Nota:您需要安装SSH代理插件

ID:

从作业和其他配置中标识这些凭据的内部唯一ID。通常为空白,在这种情况下将生成ID,对于使用可视化窗体创建的作业来说,这是很好的。在使用脚本配置中的凭据时显式指定非常有用。

Groovy代码示例

代码语言:javascript
复制
sshagent(['jenkins-ssh-qa']) {
    sh "ssh -o StrictHostKeyChecking=no devops@172.1.1.1 ${dockerRun}"
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43870065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档