Jenkins发现找不到ssh密钥

以jenkins用户身份登录时,我在〜/ .ssh / id_rsa.pub中有一个ssh密钥。

我已将其正确导入到bitbucket中,并且已经接受了密钥。

当我尝试进行git clone(正确的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 git@bitbucket.org:DAVID99WORLD/assessme.git

hudson.plugins.git.GitException: Could not clone git@bitbucket.org: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 git@bitbucket.org: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用户的正确目录,此文件存在。

编辑:我的jenkins用户在〜/ .ssh中没有known_hosts文件,但是我的根级用户知道-

应该吗?我可以与我的jenkins用户进行克隆,并且完全没有提及jenkins用户作为主机。

回答:

它可能与known_hosts文件无关。我认为,您必须检查Jenkins是否能够读取您的公共SSH密钥。因此,您可能要检查以下内容:

  • 在/ etc / passwd中为Jenkins用户定义的主目录匹配〜/ .ssh
  • Jenkins用户有权访问其主目录(因此,在上述所有目录中至少–x–x–x)
  • Jenkins用户有权访问id_rsa.pub文件
  • Jenkins实际上是与Jenkins用户一起运行的,而不是例如tomcat用户

另外,如果删除当前的id_rsa.pub文件会怎样?它抱怨没有找到要使用的公钥吗?

以上是 Jenkins发现找不到ssh密钥 的全部内容, 来源链接: utcz.com/qa/397532.html

回到顶部