为什么Jenkins在通过密钥后仍然要求输入ssh密码?
我试图从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:
为什么我使用私钥时需要密码,我如何克服这个问题?
发生这种情况是因为Jenkins试图默认使用ssh身份验证方法,并且不够聪明以至于无法使用您的ssh代理,或者如果您指定用户/密码,这是没有意义的。
如果您想要,您可以通过添加-noKeyAuth
参数来禁用此行为。
上一篇: Why is Jenkins still asking for an ssh passphrase after passing the key?