为什么在传递密钥后,Jenkins仍然要求ssh密码?

8

我正试图在Mac OS X命令行上启动Jenkins构建。

我们的服务器已启用验证,因此我必须从命令行调用进行身份验证。

我已将我的ssh密钥注册到Jenkins服务器,但仍需要手动输入密钥的密码。

这是我使用的命令:

$ java -jar jenkins-cli.jar -s http://localhost:8080/ -i ~/.ssh/id_rsa build 'MyApp'

输入命令后,我得到这个提示:

Enter passphrase for /Users/jenkins/.ssh/id_rsa:

当我使用私钥时为什么需要口令,如何解决这个问题?


1
jenkins-cli需要解锁您的密码保护SSH密钥才能使用它。相关链接:https://dev59.com/MIvda4cB1Zd3GeqPfuqD - Dave Bacher
1个回答

3
这是因为 Jenkins 默认使用 ssh 身份验证方法,但不够智能,无法使用您的 ssh 代理,也无法判断如果您指定了用户/密码则没有意义。如果您希望,可以通过添加 -noKeyAuth 参数来禁用此行为。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接