Я только что установил Jenkins на моем сервере Ubuntu с помощью шагов установки debian (используя apt-get install). Я хочу, чтобы моя сборка вытащила из частного репозитория git в GitHub. При этом мне нужно использовать SSH-доступ для доступа к моему репозиторию.
Большинство моих результатов поиска только что сказали, чтобы войти в систему как пользователь Jenkins и создать SSH-ключ для моей учетной записи GitHub, но при установке через диспетчер пакетов debian у меня нет пароля для пользователя Jenkins.
Итак, как мне создать SSH-ключ для моего сервера Jenkins?
Я буду ожидать, что время от времени вы захотите войти в систему как 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
.
Ссылки по теме
ssh [email protected]
чтобы добавить отпечаток. Также не забудьте настроить клиент git с помощью git config --global user.email '[email protected]'
и git config --global user.name 'jenkins'
Jenkins
. Получает ли этот пользователь пароль или он остается пустым? Если оно пустое, это угроза безопасности?