Как настроить ssh ключи для jenkins для публикации через ssh

Дженкинсу требуется сертификат для использования публикаций ssh ​​и ssh. Его можно настроить в разделе "Управление jenkins" → "Настроить систему" ​​- > "Опубликовать по ssh".

Вопрос в том, как создать сертификаты?

У меня есть два сервера ubuntu, один работает jenkins и один для запуска приложения.

Установить сертификат jenkins и поместить его часть в окно развертывания или установить сертификат в окне развертывания и поместить его в jenkins? Должен ли сертификат быть на имя пользователя, называемого jenkins, или он может быть для любого пользователя? У нас нет пользователя jenkins в окне разработки.

Я знаю, что существует ряд несовместимых типов ssh, которые требуют jenkins?

Кто-нибудь нашел руководство о том, как установить все это (как сгенерировать ключи, куда их поставить и т.д.).

Ответ 1

Вам нужно будет создать открытый/закрытый ключ в качестве пользователя Jenkins на вашем сервере Jenkins, а затем скопировать открытый ключ пользователю, которому вы хотите выполнить развертывание, на вашем целевом сервере.

Шаг 1, создайте открытый и закрытый ключ на сервере сборки как пользователь jenkins

build1:~ jenkins$ whoami
jenkins
build1:~ jenkins$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): 
Created directory '/var/lib/jenkins/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
[...] 
The key randomart image is:
[...]
build1:~ jenkins$ ls -l .ssh
total 2
-rw-------  1 jenkins  jenkins  1679 Feb 28 11:55 id_rsa
-rw-r--r--  1 jenkins  jenkins   411 Feb 28 11:55 id_rsa.pub 
build1:~ jenkins$ cat .ssh/id_rsa.pub
ssh-rsa AAAlskdjfalskdfjaslkdjf... [email protected]

Шаг 2, вставьте содержимое паб файла на целевой сервер.

target:~ bob$ cd .ssh
target:~ bob$ vi authorized_keys (paste in the stuff which was output above.)

Убедитесь, что у вашего .ssh dir есть permissoins 700, а ваш файл authorized_keys имеет разрешения 644

Шаг 3, настройте Jenkins

  • В панели управления jenkins веб-нарисуйте "Управление Jenkins" → "Настроить систему" ​​- > "Опубликовать через SSH"
  • Либо введите путь к файлу, например. "var/lib/jenkins/.ssh/id_rsa" или вставить тот же контент, что и на целевом сервере.
  • Введите свою парольную фразу, информацию о сервере и пользователе, и вы готовы к работе!