jenkins-cli没有使用提供的ssh私钥进行身份验证

时间:2017-06-09 13:41:12

标签: jenkins jenkins-cli

[说明]

问题描述 jenkins-cli没有使用提供的ssh私钥进行身份验证

观察到的

传递jenkins-cli命令时:

java -jar ~/jenkins-cli.jar -s http://localhost:8080 -i ~/.ssh/ccdevops who-am-i

控制台输出是:

  

认证为:匿名

     

当局:

所需

Jenkins应该在其个人资料中使用匹配的公钥进行身份验证

相关信息

  • jenkins v 2.46.3并使用正确的cli jar作为版本
  • Ubuntu 16.04.2 LTS(GNU / Linux 4.4.0-78-generic x86_64)
  • 仅使用推荐插件
  • 在中国东部数据中心的天蓝云上运行
  • vm的azure网络安全组配置为允许通信
  • 正在使用的ssh密钥是在运行jenkins的ubuntu机器上创建的,而公钥是在jenkins用户数据库的users条目中
  • 密钥是使用github网站上的说明创建的
  • jenkins-cli正在服务器上运行,而不是从远程主机运行

已经尝试的步骤

  • 尝试使用和不使用密码的不同密钥
  • 尝试使用localhost和ip地址
  • 的网址
  • 尝试了其他具有相同结果的jenkins-cli命令
  • 尝试创建其他用户并在其个人资料中添加公共ssh密钥。 (用户之间没有重复的密钥)
  • 尝试将jenkins-cli jar的位置从服务器根目录移动到jenkins主目录

1 个答案:

答案 0 :(得分:0)

您还应该在命令行中分别使用-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访问服务器。