2

我一直无法使用 Jenkins CLI WAR 登录到我们的 Dev@Cloud 实例。每次我尝试时,都会收到以下消息:

您必须进行身份验证才能访问此 Jenkins。

我的 SSH 密钥在我们的 Jenkins 实例和 GrandCentral 中都设置了。我尝试执行登录命令,但最终出现以下异常:

org.acegisecurity.userdetails.UsernameNotFoundException: Not Found or Not Authorized
    at com.cloudbees.jenkins.plugins.dacsecurity.auth.CloudBeesUserDetailsService.loadUserByUsername(CloudBeesUserDetailsService.java:60)
    at com.cloudbees.jenkins.plugins.dacsecurity.auth.CloudBeesUserDetailsService.loadUserByUsername(CloudBeesUserDetailsService.java:12)
    at hudson.security.SecurityRealm.loadUserByUsername(SecurityRealm.java:305)
    at hudson.cli.ClientAuthenticationCache.set(ClientAuthenticationCache.java:94)
    at hudson.cli.LoginCommand.run(LoginCommand.java:37)
    at hudson.cli.CLICommand.main(CLICommand.java:229)
    at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:275)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:256)
    at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:326)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63)
    at hudson.remoting.InterceptingExecutorService$2.call(InterceptingExecutorService.java:95)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

对此的任何帮助表示赞赏。

4

2 回答 2

2

尝试这个

java -jar jenkins-cli.jar -s "https://[username].ci.cloudbees.com/" -i ~/.ssh/id_rsa help

如果您还没有创建 ssh 密钥,请遵循此帮助指南,直到第 3 步 https://help.github.com/articles/generating-ssh-keys

your_email@example.com = 可以是任何电子邮件,不一定是您在 cloudbee 帐户登录/设置中提供的电子邮件

于 2013-06-12T04:41:28.763 回答
1

可能是连接时没有使用正确的 ssh 密钥的情况 - 它会在 ~/.ssh/id_rsa 等中查找 - 与“ssh”命令相同。

如果您仍然无法解决 - 请打开工单 support@cloudbees.com 因为您可能需要更具体地讨论您的设置

您可能需要在 ~/.ssh/config 中添加一个条目,例如:

Host account.ci.cloudbees.net                                                                                                                                                                          
  IdentityFile ~/.ssh/id_rsa 

指向您希望用来识别的私钥(如果您为您的用户使用默认密钥,您应该可以)

于 2013-05-08T01:40:13.563 回答