Проблемы с доступом при попытке добавить репозиторий Git в Jenkins - PullRequest
2 голосов
/ 18 апреля 2020

Я создаю трубопровод в Дженкинсе. При попытке добавить URL-адрес хранилища я получаю следующую ошибку:

Не удалось подключиться к хранилищу: Команда "git .exe ls-remote -h - git@bitbucket.org: somename / myproject. git HEAD "вернул код состояния 128: stdout: stderr: сбой проверки ключа хоста. Неустранимый: Не удалось прочитать из удаленного хранилища.

Пожалуйста, убедитесь, что у вас есть правильные права доступа, и хранилище существует.

Снимок экрана, показывающий, куда я его добавляю: enter image description here

Я изменил имя репо в качестве примера здесь, но репо, к которому я обращаюсь, является действительным и публикуется c, любой может получить доступ.

Поиск в Google продолжается вернуться к вопросу с s sh. Я не уверен, связано ли это со мной. На машине, где я это делаю, я могу работать с этим репозиторием (pull / pu sh через терминал или ide), потому что у меня уже есть s sh ключи, настроенные для моего битбакета, и он работает нормально.

Должен ли я установить другой набор ключей s sh отдельно для Дженкинса? Я в замешательстве. Могу ли я получить помощь по этому вопросу, пожалуйста? Спасибо.

РЕДАКТИРОВАТЬ:

Чтобы отметить, нет проблем, если я добавлю репозиторий Github, например, следующим образом: https://github.com/bradtraversy/vanilla-parcel-boilerplate.git

1 Ответ

2 голосов
/ 18 апреля 2020

Из вашего комментария это работает с https без какой-либо аутентификации, но вам все равно нужно подключиться через s sh для других целей и использования. Чтобы иметь возможность подключиться, вы должны:

  • зарегистрировать ключ удаленного хоста, который будет распознан как известный хост для системной учетной записи пользователя Jenkins
  • зарегистрировать закрытый ключ в качестве учетных данных в Jenkins GUI для аутентификации на удаленной цели

Примите ключ хоста как известный хост

Самый простой способ сделать это - подключиться к серверу Jenkins с помощью s sh и стать jenkins системным пользователем. Оттуда инициируйте соединение s sh с целевым сервером с помощью ssh git@bitbucket.org. Вы получите следующее приглашение

The authenticity of host 'bitbucket.org (2406:da00:ff00::22c5:2ef4)' can't be established.
RSA key fingerprint is SHA256:zzXQOXSRBEiUtuE8AikJYKwbHaxvSc0ojez9YXaGp1A.
Are you sure you want to continue connecting (yes/no)?

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

Зарегистрировать закрытый ключ.

Вам потребуется зарегистрировать свой закрытый ключ s sh в качестве учетных данных в Jenkins. См. документацию для этого. Как только вы закончите, учетные данные будут отображаться в раскрывающемся списке под URL-адрес хранилища. Выберите его, чтобы использовать его для подключения.

...