Сбой аутентификации клавиш SSH при подключении Mac Hudson Slave с Linux Master

StackOverflow https://stackoverflow.com/questions/4715393

Вопрос

Итак, у меня есть Хадсон (v1.393) в виртуальной машине Ubuntu, и все работает нормально. Однако я пытаюсь добавить раба Mac в мастер Ubuntu, и я столкнулся с несколькими проблемами.

Я настроил клавиши SSH, чтобы из командной строки VM Ubuntu VM CAN SSH использует ключ в пользователя, называемого Hudson на Mac.

В конфигурации рабов Хадзона у меня выбран «запуск рабовлажных агентов на машинах UNIX через SSH» и ввел IP -IP -хост, имя пользователя на рабе и местоположение моего отдельного файла ключа на мастере (которое было добавлено к Авторизованный файл клавиш в рабстве).

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

Это отслеживание для неудачной попытки SSH на основе ключей?
Гудзон только пытается аутентифицировать, используя пароль, и мне нужно изменить что -то еще, чтобы он использовал файл ключа, который определяется в конфигурации?
Разве невозможно запустить рабовладельческих агентов через SSH на Mac? (Я знаю название этого типа метода запуска подчиненных работ, как утверждает, но я думал (читай: надеясь), что он тоже будет работать с OS X)

Журнал

[01/14/11 10:38:07] [SSH] Opening SSH connection to 10.0.1.188:22.
[01/14/11 10:38:07] [SSH] Authenticating as hudson/******.
java.io.IOException: Password authentication failed.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:319)
at com.trilead.ssh2.Connection.authenticateWithPassword(Connection.java:314)
at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:565)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:179)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:184)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.io.IOException: Authentication method password not supported by the server at this stage.
at com.trilead.ssh2.auth.AuthenticationManager.authenticatePassword(AuthenticationManager.java:289)
... 9 more
[01/14/11 10:38:07] [SSH] Connection closed.

Если кому -то удалось завоевать этот тип настройки ранее, или у него есть какие -либо советы или идеи, я был бы очень благодарен! Спасибо

Это было полезно?

Решение

Недавно я столкнулся с той же проблемой, пытаясь запустить агента на машине Mac OS X 10.6 с помощью SSH.

Чтобы получить аутентификацию пароля для работы. PasswordAuthentication yes

На панели управления Гудзоном возьмите узел в автономном режиме, убедитесь, что конфигурация имеет действительное имя пользователя и пароль, и запустите агент. Также убедитесь, что Удаленный корень FS Справочник принадлежит пользователю сборки, которого вы подключаете.

Для аутентификации без пароля SSH сначала проверьте, какой пользователь Hudson Master работает как. Предположим, что это Tomcat55. Анкет Сгенерируйте публичную/частную пару ключей SSH (с пустой пасфразой), затем убедитесь, что пользователь Hudson может подключиться.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tomcat55/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/tomcat55/.ssh/id_rsa.
Your public key has been saved in /home/tomcat55/.ssh/id_rsa.pub.

$ # authorize the hudson master on the hudson node
$ scp /home/tomcat55/.ssh/id_rsa.pub hudson@macnode:~/.ssh/authorized_keys
$ # test the connection
$ ssh -i /home/tomcat55/.ssh/id_rsa hudson@macnode

На узле Hudson Mac /ETC /SSHD_CONFIG необходимо обеспечить доступ без пароля.

Protocol 2
PubkeyAuthentication yes

В конфигурации узела очистите поле пароля и установите поле закрытого ключа (в этом примере это/home/tomcat55/.ssh/id_rsa). Теперь вы должны иметь возможность запустить агента:

[01/19/11 22:38:44] [SSH] Opening SSH connection to macnode:22.
[01/19/11 22:38:44] [SSH] Authenticating as hudson with /home/tomcat55/.ssh/id_rsa.
[01/19/11 22:38:45] [SSH] Authentication successful.

Другие советы

Проверьте файл /var/log/auth.log на машине Ubuntu. Бьюсь об заклад, вам нужно CHMOD 700 Справочник .SSH пользователя Hudson.

Я думаю, что первый ответ (выбранный) - это потрясающий ответ, но я нашел случай, когда это не единственное решение.

В моем случае у меня есть раб Mac OS, который работал, а затем я снял этот Mac и поднял новый. Я думал, что смогу просто настроить настройки для конфигурации существующего узла, чтобы указать на нее на новый Mac. Это не сработало, и у меня были все те же ошибки и проблемы, описанные в этом потоке сообщения.

Затем я вошел, удалил узел и воссоздал его с одинаковыми настройками, и это сработало. я подозревать Этот отпечаток пальца SSH изменился, и, удалив узел и воссоздав его, я смог заставить его работать. Что бы это ни было, ключевой компонент, который заставил его сбой, не является опцией конфигурации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top