Jenkins CLI : ERROR: anonymous is missing the Overall/Read permission

Jenkins CLI : ERROR: anonymous is missing the Overall/Read permission

我被这个问题困住了,我不知道如何解决它。

我写了一个 Shell 脚本,它将通过传递我的私人 key.Jenkins 版本 2.121.1

使用 Jenkins CLI 调用我的工作
java -jar jenkins-cli.jar -s http://localhost:8080 -i ~/.ssh/id_rsa build RTT/RTT-CI-Tools/RTT-CI-Tools-Distribute -s -p SLAVE_REGEX=testserver

获取错误消息为:

ERROR: anonymous is missing the Overall/Read permission

同样的脚本在另一个 Jenkins (2.7.4) 中有效。如何解决这个问题。

请检查以下几点

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).

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}

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

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

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

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

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

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