Почему интерфейс командной строки Jenkins не работает на нашем экземпляре Dev@Cloud?

Мне не удалось войти в наш экземпляр Dev@Cloud с помощью Jenkins CLI WAR. Каждый раз, когда я пытаюсь, я получаю следующее сообщение:

Вы должны пройти аутентификацию, чтобы получить доступ к этому 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)

Любая помощь в этом приветствуется.


person highvoltage    schedule 07.05.2013    source источник


Ответы (2)


Это может быть случай, когда правильный ключ ssh не используется при подключении — он будет искать в ~/.ssh/id_rsa и т. д. — так же, как команда «ssh».

Если вы все еще не можете решить это, пожалуйста, откройте тикет [email protected], так как вам может потребоваться более подробно поговорить о вашей настройке.

Возможно, вам потребуется добавить запись в ~/.ssh/config, например:

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

указывая на закрытый ключ, который вы хотите использовать для идентификации (если вы используете ключ по умолчанию для своего пользователя, все должно быть в порядке)

person Michael Neale    schedule 08.05.2013
comment
Я сгенерировал новый ключ .ssh, используя тот же идентификатор, что и моя учетная запись cloudbees. С этим сработало. - person highvoltage; 08.05.2013

Попробуй это

java -jar jenkins-cli.jar -s "https://[имя пользователя].ci.cloudbees.com/" -i ~/.ssh/id_rsa справка

Если вы не создали ключ ssh, следуйте этому справочному руководству до шага 3 https://help.github.com/articles/generating-ssh-keys

[email protected] = может быть любой адрес электронной почты, не обязательно тот, который вы указали при входе/настройке учетной записи cloudbee

person Prabhakar Kasi    schedule 12.06.2013