[帮助]
问题描述 jenkins-cli 未使用提供的 ssh 私钥进行身份验证
观察
传递 jenkins-cli 命令时:
java -jar ~/jenkins-cli.jar -s http://localhost:8080 -i ~/.ssh/ccdevops who-am-i
控制台输出为:
Authenticated as: anonymous
Authorities:
期望
Jenkins 应使用其个人资料中匹配的公钥进行用户身份验证
相关信息
- jenkins v 2.46.3 并使用该版本的正确 cli jar
- Ubuntu 16.04.2 LTS(GNU/Linux 4.4.0-78-generic x86_64)
- 仅使用推荐插件
- 在华东数据中心的蔚蓝云上运行
- 虚拟机的 Azure 网络安全组配置为允许流量
- 使用的 ssh key 是在运行 jenkins 的 ubuntu 机器上创建的,公钥位于 jenkins 用户数据库的用户条目中
- key 是根据 github 网站上的说明创建的
- jenkins-cli 正在服务器上运行,而不是从远程主机运行
已尝试的步骤
- 尝试了带或不带密码短语的不同 key
- 尝试使用 localhost 和 IP 地址获取网址
- 尝试了其他 jenkins-cli 命令,结果相同
- 尝试创建其他用户并将公共(public) ssh key 放入其个人资料中。 (用户之间没有重复的 key )
- 尝试将 jenkins-cli jar 的位置从服务器根目录移动到 jenkins 主目录
最佳答案
您还应该在命令行上分别使用 -ssh
和 -user USER_NAME
指定 SSH 方法和用户。之后,您的命令将如下所示:
java -jar ~/jenkins-cli.jar -s http://localhost:8080 -i ~/.ssh/ccdevops who-am-i -ssh -user USER_NAME
另请注意,您还需要能够通过 SSH 访问服务器。
关于jenkins-cli 未使用提供的 ssh 私钥进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44459364/