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

时间:2015-10-28 20:57:57

标签: macos jenkins ssh command-line-interface

我试图从OS X上的命令行启动Jenkins构建。

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

我已经使用jenkins服务器注册了我的ssh密钥,但我还是需要手动输入密钥的密码。

以下是我使用的命令:

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

输入命令后,我收到此提示:

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

为什么我使用私钥时需要密码短语?如何克服这个问题?

1 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为Jenkins在默认情况下尝试使用ssh身份验证方法,并且不够智能,无法使用您的ssh代理,或者如果您指定用户/密码,这是没有意义的。

如果需要,可以通过添加-noKeyAuth参数来禁用此行为。