2016-08-19 6 views
1

Я только начинаю с дженкинсов, и у меня возникают проблемы с подключением к удаленной машине через rsync.Запуск rsync из сценария оболочки jenkins

Я думаю, что jenkins не знает, какой файл идентификации ssh использовать или, может быть, он знает, но не знает, как его расшифровать? Из других вопросов я понял, что Gtk-Warning, вероятно, потому, что он не может открыть «enter keyphrase» -prompt.

rsync -azvh /var/lib/jenkins/workspace/ofen [email protected]_server:/my_project/ofen 
No protocol specified 

(ssh-askpass:19928): Gtk-WARNING **: cannot open display: :0 
Host key verification failed. 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.0] 

Все работает нормально, когда я пытаюсь использовать его из командной строки.

ответ

4

Необходимо, чтобы ключ был загружен как часть конфигурации Jenkin SSH Agent.

  1. Добавьте закрытый ключ Дженкинс через учетные данные/SSH секретный ключ, включая кодовую фразу, если один используется
  2. Включение SSH агента на работу и дать ему верительные

Вещи, которые используют ключи SSH и агенты теперь могут использовать загруженный ключ.

+0

Я установил плагин агента SSH. Сначала я попытался включить закрытый ключ непосредственно в диалог учетных данных, но он не сработал. Я скопировал ssh-ключ в $ JENKINS_HOME/.ssh и изменил параметры учетных данных, чтобы использовать этот каталог. Теперь это работает. – Saskia

0

«идентичность» зависит от , где ваша работа выполняется:

  • при работе на хозяина, это пользователь, который работает Дженкинс
  • на раба, то пользователю, что вам использовать для подключения ведомого

Вам нужно добавить открытый ключ этой идентичности в .ssh/authorized_keys файл пользователя sascha. Это позволит обеспечить аутентификацию на основе открытого ключа, а rsync должен работать нормально.