Пользователь Jenkins при установке Apt-Get Install

56

Я только что установил Jenkins на моем сервере Ubuntu с помощью шагов установки debian (используя apt-get install). Я хочу, чтобы моя сборка вытащила из частного репозитория git в GitHub. При этом мне нужно использовать SSH-доступ для доступа к моему репозиторию.

Большинство моих результатов поиска только что сказали, чтобы войти в систему как пользователь Jenkins и создать SSH-ключ для моей учетной записи GitHub, но при установке через диспетчер пакетов debian у меня нет пароля для пользователя Jenkins.

Итак, как мне создать SSH-ключ для моего сервера Jenkins?

  • 0
    Еще одна вещь, которая меня заинтересовала: когда устанавливается jenkins, создается новый пользователь Jenkins . Получает ли этот пользователь пароль или он остается пустым? Если оно пустое, это угроза безопасности?
  • 0
    Я считаю, что пользователь создается без пароля и без оболочки, поэтому я не верю, что это большая угроза безопасности, поскольку пользователь на самом деле ничего не может сделать.
Показать ещё 1 комментарий
Теги:
jenkins
continuous-integration
apt-get

1 ответ

92
Лучший ответ

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

Изменить пароль jenkins без его знания

Из любой учетной записи, которая имеет разрешения sudo, вы можете reset jenkins 'пароль выбрать что-то по своему выбору:

sudo passwd jenkins

Сначала вы можете задать свой пароль, чтобы использовать sudo. Затем вам будет предложено ввести новый пароль для jenkins и, наконец, подтверждение этого нового пароля.

Если ваш пользователь с правами sudo называется joe, вот как выглядит сеанс:

joe $ sudo passwd jenkins
[sudo] password for joe:     **you enter joe passwd**
Enter new UNIX password:     ** you enter new jenkins passwd**
Retype new UNIX password:    ** you enter new jenkins passwd**
passwd: password updated successfully

Альтернатива: логин как дженкинс без его пароля

В качестве альтернативы, снова используя sudo из другой подходящей учетной записи, вы можете войти в систему как jenkins, не запрашивая пароль:

sudo su - jenkins

В стороне: избегайте путаницы с паролем

Прежде чем выпустить sudo passwd jenkins, мы можем сначала выполнить аутентификацию отдельно с помощью sudo, чтобы избежать путаницы вокруг вопроса "чей пароль мне сейчас просят?".

sudo -v
sudo passwd jenkins

После успешной проверки подлинности sudo появится окно (например, 15 минут), в котором нам не будет предложено повторно подтвердить подлинность. (Обратите внимание, что вы можете немедленно аннулировать (убить) этот сеанс с помощью sudo -k, если хотите поэкспериментировать.)

обещанный строгий ответ

sudo -u jenkins ssh-keygen

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

  sudo cat ~jenkins/.ssh/id_rsa.pub

Точное местоположение и имя файла открытого ключа зависит от того, что вы ввели в подсказки ssh-keygen, выше. Я использовал ярлык для домашнего каталога jenkins, ~jenkins.

Ссылки по теме

  • 10
    Спасибо за очень подробное объяснение. Я обнаружил, что вам действительно нужно войти в систему как пользователь Jenkins, поэтому необходимо добавить пароль. Прежде чем Дженкинс сможет клонировать репо самостоятельно, вам нужно войти в систему как jenkins и, по крайней мере, сделать ssh ssh [email protected] чтобы добавить отпечаток. Также не забудьте настроить клиент git с помощью git config --global user.email '[email protected]' и git config --global user.name 'jenkins'
  • 0
    Спасибо за отличные советы!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню