Дженкинс не может найти ключ ssh

2

У меня есть ключ ssh в ~/.ssh/id_rsa.pub, когда я вхожу в систему как пользователь jenkins.

Я импортировал это в битбакет правильно, и он принял ключ.

Когда я пытаюсь сделать клон git (к правильному URL), я все равно получаю....

Building in workspace /var/lib/jenkins/jobs/Google adwords/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Google adwords/workspace - hudson.remoting.LocalChannel@2c473996
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
ERROR: Error cloning remote repo 'origin' : Could not clone [email protected]:DAVID99WORLD/assessme.git
hudson.plugins.git.GitException: Could not clone [email protected]:DAVID99WORLD/assessme.git
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:268)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064)
    at hudson.FilePath.act(FilePath.java:842)
    at hudson.FilePath.act(FilePath.java:824)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1256)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494)
    at hudson.model.Run.execute(Run.java:1502)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:236)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin [email protected]:DAVID99WORLD/assessme.git /var/lib/jenkins/jobs/Google adwords/workspace" returned status code 128:
stdout: Cloning into '/var/lib/jenkins/jobs/Google adwords/workspace'...

stderr: Host key verification failed.
fatal: The remote end hung up unexpectedly

Кто-нибудь знает, почему это произошло? Согласно документации, которую я прочитал ~/.ssh, это правильный каталог как пользователь jenkins для существования этого файла.

EDIT: у моего пользователя jenkins нет файла known_hosts в ~/.ssh, но мои корневые уровни - это так? Я могу сделать клон с моим пользователем jenkins просто отлично, и он не упоминает хост вообще как пользователь jenkins.

  • 0
    Удалил мой ответ, должен был быть комментарий. Убедитесь, что Дженкинс действительно работает как Дженкинс. Используете ли вы сервлет Winstone или что-то еще, например Tomcat?
  • 0
    Не по теме для SO; принадлежит на сервере неисправности или суперпользователя
Теги:
bitbucket

1 ответ

2
Лучший ответ

Вероятно, это не связано с файлом known_hosts. Я думаю, вы должны проверить, что Дженкинс может прочитать ваш общедоступный ключ SSH. Поэтому вы можете проверить, что:

  • для пользователя Jenkins, заданного пользователем в /etc/passwd, соответствует ~/.ssh
  • У пользователя Jenkins есть доступ к его домашнему каталогу (так, по крайней мере, --x - x - x на всех дисках выше)
  • Пользователь Jenkins имеет доступ к файлу id_rsa.pub
  • Дженкинс фактически работает с пользователем Jenkins, а не, например, Пользователь tomcat

Также, что произойдет, если вы удалите текущий файл id_rsa.pub? Жалуется ли он на то, чтобы не найти открытый ключ для использования?

  • 0
    Вы можете написать команды macosx, которые нам нужно выполнить для выполнения этой операции? У меня точно такая же проблема. Я действительно схожу с ума от этого stackoverflow.com/questions/13267964/…
  • 0
    @ Клаус Это очень сложно сделать, так как это сильно зависит от конфигурации сервера.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню