jenkins发现无法findssh密钥

当我以jenkins用户login时,我在〜/ .ssh / id_rsa.pub中有一个ssh密钥。

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

当我尝试做一个混帐克隆(到正确的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用户定义的home匹配〜/ .ssh
  • Jenkins用户可以访问他的主目录(所以至少在上面的所有目录上都是-x – x – x)
  • Jenkins用户可以访问id_rsa.pub文件
  • 詹金斯实际上运行与詹金斯用户,而不是例如tomcat用户

另外,如果你删除你当前的id_rsa.pub文件会发生什么? 它抱怨没有找到一个公共密钥使用?