2016-07-12 4 views
0

Перед тем, как мгновенно пометить это как возможный дубликат пожалуйста, прочитайте весь текстдоступа SSH к Github: оболочки хорошо, Дженкинс не удается

TLDR: Я пытаюсь настроить Дженкинс, чтобы читать частные Репозиторий Github. Когда я использую учетные данные jenkins с username/password, он работает, когда я использую учетные данные jenkins с private key, это не так, и я получаю ошибку «неправильное имя пользователя/пароль».

Полное описание:

  1. У меня есть Дженкинс 2,5, установленные на Apache-8 котом, Дженкинс работает под пользователем tomcat8. Также установлены плагин Credential (2.1.4), плагин Git client (1.19.6), Gitplugin (2.5.2), плагин Github API (1.76), плагин GitHub (1.19.2), плагин учетных данных SSH (1.12). Git работает в версии 2.1.4
  2. Я создал SSH-ключи с пустым паролем для пользователя tomcat8 [вошел как tomcat8 через sudo -su tomcat8]
  3. Я добавил открытый ключ к закрытому Github хранилище
  4. Я создал Дженкинс полномочие ssh username with private key с глобальной областью действия, имя пользователя tomcat8, пустой пароль и полный закрытый ключом от -----BEGIN RSA PRIVATE KEY----- к -----END RSA PRIVATE KEY-----
  5. I'v создал Дженкинс creditals «имя пользователя/пароль» с простым именем пользователя и passwort учетной записи github.
  6. Когда я вхожу в систему пользователя tomcat8 и проверяю подлинность github через оболочку с помощью команды ssh -T [email protected] Я получаю правильный вывод. Это означает, что мой аутентификации с ключом против GitHub работает

    tomcat8 @ CI (справа): ~/.ssh $ SSH -T [email protected] Привет GitHub-имя пользователя! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке.

Венна Теперь я настроить мой Дженкинс работа: repository URL: https://github.com/repoownername/reponame.git и использовать имя пользователя/Passwort-верительных доступ прекрасен. Но когда я использую SSH-учетные данные аутентификации failes с

Не удалось подключиться к хранилищу: Команда «мерзавец -c core.askpass = True л.с-дистанционные -h https://github.com/repoownername/reponame.git ГОЛОВА» возвращается код состояния 128: стандартный вывод: stderr: remote: Неверное имя пользователя или пароль. со смертельным исходом: Ошибка аутентификации для '' https://github.com/repoownername/reponame.git

Дополнительная информация При запуске сборки с именем пользователя/пароль учетных

мерзавец конфигурации remote.origin1.url https://github.com/repoownername/reponame.git # таймаут = 10 Fetching вверх по течению изменяется от https://github.com/repoownername/reponame.git с использованием .gitcredentials для установки учетных данных git config --local credential.username github-username # timeout = 10 git config --local credential.helper store --file =/tmp/tomcat8-tomca T8-TMP/git1018128562913260002.credentials # timeout = 10 git -c core.askpass = true fetch --tags --progress https://github.com/repoownername/reponame.git + refs/heads/: refs/remotes/origin1/ git config --local --remove-section credential # timeout = 10

Когда я использую учетные данные SSH, я получаю ошибку, упомянутую выше.

Так что мой вопрос теперь: Как я могу успешно использовать мои SSH-учетные данные вместо имени пользователя/пароля

Некоторые учебники я проверил:

ответ

2

О, я человек какой-то глупый.

Моя ошибка в том, что я использовал неправильный URL моего хранилища! Я использовал:

https://github.com/repoownername/reponame.git, который отлично работает при использовании учетных данных username/password.

Но для SSH-Acess я должен был использовать

[email protected]:repoownername/reponame.git

Смежные вопросы