Как настроить беспарольный доступ в Jenkins

Такой функционал может понадобиться для выкладывания результатов сборки на удаленной сервер с помощью команды scp или запуска команд на удаленном сервере с помощью ssh. Даже если вы решите использовать плагин дженкинса вроде Publish Over SSH, то вам придется делать эту же настройку. Будем считать, что надо выполнить команду:
ssh user_name@remote_host ls -l /tmp
Действия на компьютере с дженкинсом. Находим домашнюю папку пользователя jenkins (задачи будут запускаться от его лица):
cd ~jenkins
У меня это /var/lib/jenkins/ В ней должна быть папка .ssh. Из файла /var/lib/jenkins/.ssh/id_rsa.pub. Из нее нам нужна единственная строка. Далее действия на удаленном сервере (по отношению к дженкинсу). Идем в домашнюю папку пользователя user_name (работаем от его лица). Сщздаем папку .ssh (если не создана). Ее владельцем должен быть user_name, права доступа 0700. В ней должен быть файл authorized_keys. Его владельцем должен быть user_name, права доступа 0644. В этот файл вставляем ту самую строку из /var/lib/jenkins/.ssh/id_rsa.pub. В конце файла нужна пустая строка. После этого при запуске команды
 ssh user_name@remote_host ls -l /tmp
от лица пользователя jenkins не должно быть запроса пароля. В случае, если пароль по-прежнему запрашивается, запускайте команду с дебажным логгированием и ищите информацию по тексту ошибок в гугле:
 ssh -vvv user_name@remote_host ls -l /tmp
[sc:social_networks ]
You can leave a response, or trackback from your own site.

Leave a Reply