我正在尝试使用以下命令从 cli 在我的 Jenkins 上运行 groovysh:
java -jar jenkins-cli.jar -s <Jenkins URL> -i JenkinsPrivateKey.ppk groovysh
我使用 PuttyGen 生成了这个私钥文件,并将公钥粘贴到 Jenkins 的/me/configure 页面上的 SHH 公钥框中。这并不是说 key 不起作用 - 它似乎根本没有进行身份验证。当我使用 cli 运行 who-am-i 时:
java -jar jenkins-cli.jar -s <Jenkins URL> -i JenkinsPrivateKey.ppk who-am-i
它给我的回应是:
Authenticated as: anonymous
我在这里错过了什么?我认为如果身份验证失败,它至少会显示某种错误消息。有什么方法可以验证私钥是否真的有效?
编辑:经过一些实验,似乎通过 CLI 的身份验证确实失败了 - 我在我的配置文件配置中放置了一个伪造的公钥,但我仍然没有看到任何错误。
最佳答案
您可能需要将您的 putty key 转换为 openssh 格式,以便它们能够正常使用该 key 。
参见 https://wiki.cloudbees.com/bin/view/DEV/Customer%2BProvided%2BSlaves%2BWindows
“返回 Putty key 生成器,使用转换 > 导出 OpenSSH key 将私钥保存到文件中。”
如果可行,请随时编辑 the Jenkins CLI wiki page !
关于authentication - Jenkins CLI 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18199355/