Jenkins CLI:错误:匿名缺少总体/读取权限

时间:2018-06-26 08:59:53

标签: jenkins command-line-interface ssh-keys jenkins-cli

我一直困扰着这个问题,我不知道要解决它。

我编写了一个Shell脚本,该脚本将通过传递我的私钥来使用Jenkins CLI调用我的工作.Jenkins版本是2.121.1

ERROR: anonymous is missing the Overall/Read permission

获取错误消息为:

<label *ngIf="element"> userId : {{ element.userId }} </label>

同一脚本可在另一个Jenkins(2.7.4)中使用。如何解决此问题。

3 个答案:

答案 0 :(得分:2)

请检查以下几点

1) USER exist on jenkins server as same on linux machine.

2) SSH Public key shared on Jenkins server is correct.(manage jenkins --> manage user --> click on ${USER} --> click on configure --> then check ssh public key is correct).(br)

3) CMD i used(working) --> java -jar jenkins-cli.jar -ssh -user ${USER} -i ~/.ssh/id_rsa -s http://localhost:8080/jenkins/ build ${JOB_NAME}

请检查您是否正在从同一用户执行cmd。

4) SSH port should be enable on Jenkins (go to manage Jenkins--> configure Global security --> SSH Server... set SSHD Port Fixed eg 38844)<br>

答案 1 :(得分:1)

这个问题最近也出现在我身上(使用cli自动安装jenkins)。我可以通过将詹金斯的denyAnonymousReadAccess文件中的false标志设置为config.xml并重新启动詹金斯来解决此问题:

  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">  
    <denyAnonymousReadAccess>false</denyAnonymousReadAccess>  
  </authorizationStrategy>  

答案 2 :(得分:1)

您也可以使用auth参数,但是您应该在控制台中输入密码

java -jar jenkins-cli.jar -s http://localhost:8080/ -auth myLoggin:myPassword list-jobs