Управление SSH ключами в Jenkins для Git
Я пытаюсь заставить Дженкинса работать с репозиторием, размещенным на GitHub (используя плагин Jenkins Git). Репозиторий имеет несколько подмодулей git, поэтому я не уверен, что хочу пытаться управлять несколькими ключами развертывания.
моя личная учетная запись пользователя GitHub является сотрудником каждого из проектов, которые я хочу вытащить с Дженкинсом, поэтому я создал ключ SSH в /var/lib/jenkins/.ssh
и добавил его в мой личный аккаунт GitHub.
однако, когда я пытаюсь добавить репозиторий URL к моей конфигурации проекта Дженкинса, я получаю:
Failed to connect to repository : Command "git ls-remote -h git@github.com:***/***.git HEAD" returned status code 128:
stdout:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
аналогично, когда я планирую сборку, я получаю:
stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly
Я также попытался настроить файл конфигурации SSH, как описано здесь, но безрезультатно.
может ли кто-нибудь пролить свет? Спасибо
EDIT
Я должен добавить, что я запускаю CentOS 5.8
4 ответа:
похоже
github.com
хост, к которому Дженкинс пытается подключиться, не указан в списке пользователя Дженкинса$HOME/.ssh/known_hosts
. Дженкинс работает на большинстве дистрибутивов как и, следовательно, имеет свою собственную.ssh
каталог для хранения списка открытых ключей иknown_hosts
.самое простое решение я могу придумать, чтобы исправить эту проблему:
# Login as the jenkins user and specify shell explicity, # since the default shell is /bin/false for most # jenkins installations. sudo su jenkins -s /bin/bash cd SOME_TMP_DIR # git clone YOUR_GITHUB_URL # Allow adding the SSH host key to your known_hosts # Exit from su exit
вы пробовали войти в систему как пользователь jenkins?
попробуйте это:
sudo -i -u jenkins #For RedHat you might have to do 'su' instead. git clone git@github.com:your/repo.git
часто вы видите сбой, если хост не был добавлен или авторизован (поэтому я всегда вручную регистрируюсь как hudson/jenkins для первого подключения к github/bitbucket), но эта ссылка, которую вы включили, предположительно, исправляет это.
Если выше не работает, попробуйте скопировав ключ. Убедитесь, что это ключ паба (т. е. id_rsa.паб.) Может быть, вы пропустили некоторые символы?
по этому статьи, вы можете попробовать следующую команду:
ssh-add -l
Если Вашего ключа нет в списке, то
ssh-add /var/lib/jenkins/.ssh/id_rsa_project