gitolite - git с Дженкинсом - невозможно получить доступ

Я установил Jenkins в качестве демона (на mac os x 10.7), и я использую « real-os-user » как JENKINS USER.

Я пытаюсь настроить работу с проектом git ( helloworld ), но я получаю следующую ошибку:

    Failed to connect to repository : Command "git ls-remote -h git-server-name:helloworld HEAD" returned status code 128:
    stdout: 
    stderr: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive). 
    fatal: The remote end hung up unexpectedly

Если я запустил в окне терминала « git ls-remote -h git-server-name: helloworld HEAD », он отлично работает.

Я напечатал переменные « env », и я вижу, что Jenkins использует « real-os-user » ..

Любые идеи приветствуются. благодаря

1
nl ja de
Посмотрите, разрешите ли это решить проблему stackoverflow.com/questions/14064502/…
добавлено автор Siddharth, источник

1 ответы

git-server-name:helloworld is an ssh address, so you need to make sure that:

  • Jenkins does has defined (when executing the job) the same HOME than your shell session
  • $HOME/.ssh exists and contain the config file, id_rsa and id_rsa.pub (private and public key): test for the existence of those file in your helloworld Jenkins jobs for testing purpose.
  • Siddharth references in the comments the fact that your private key might have a passphrase that you need to add to an ssh-agent.
    Try first with a passphrase-less key that you would register to gitolite.

Обратите внимание, что если вы переименовали свой открытый и закрытый ключ после имени пользователя (поскольку gitolite ожидает, что его открытый ключ будет называться после идентификатора пользователя), ваш файл конфигурации должен ссылаться на это новое имя:

 .ssh
    real-os-user
    real-os-user.pub
    config

С конфигурационным файлом:

Host git-server-name
    HostName git-server-name
    IdentityFile ~/.ssh/real-os-user
    User git # or whatever account is managing gitolite on the server side

Учитывая, что ваш git ls-remote , это не должно быть проблемой.

0
добавлено
@Madhu Отлично. Любая проблема с ключом, защищенным парольной фразой, скорее всего, связана с отсутствующей командой ssh-add (как в stackoverflow.com/a/13443777/6309 )
добавлено автор VonC, источник
Спасибо за ваш отзыв.
добавлено автор Madhu, источник
Спасибо VonC за ваши отзывы. 1) Я напечатал переменные env. Я вижу переменные JENKINS_HOME и HOME. HOME указывает на каталог реального пользователя и имеет папку .ssh, а также я скопировал папку .ssh в JENKINS_HOME и попытался, но не повезло. .ssh имеет конфигурационную папку, .pub и закрытые ключи и файл known_hosts. 2) Позвольте мне попробовать ключ без пароля. Я полностью об этом забыл. 3) Я не переименовал реального пользователя os, который аутентифицируется с помощью git-сервера, так что это не проблема, как вы сказали.
добавлено автор Madhu, источник
Ключ с ключевой фразой не работал. Спасибо, VonC.
добавлено автор Madhu, источник
Спасибо за ссылку VonC. Я дам ему попробовать.
добавлено автор Madhu, источник
Git — русскоговорящее сообщество
Git — русскоговорящее сообщество
588 участник(ов)

Обсуждаем git, его фичи, хаки, надстройки и экосистему. Правила: http://telegra.ph/ru-chat-rules-06-19 https://git.wtf/

pro.git::next
pro.git::next
44 участник(ов)

Обсуждение системы контроля версий git и инструментов для работы с ней.