Jenkins主机密钥validation失败

我有一个jenkins的问题,设置“混帐”,显示以下错误:

Failed to connect to repository : Command "git ls-remote -h https://person@bitbucket.org/person/projectmarket.git HEAD" returned status code 128: stdout: stderr: fatal: Authentication failed 

我用sshtesting过:

 git@bitbucket.org:person/projectmarket.git 

这是错误的:

 Failed to connect to repository : Command "git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD" returned status code 128: stdout: stderr: Host key verification failed. fatal: The remote end hung up unexpectedly 

我也用“SSH密钥”完成了这些步骤。

在Jenkins下login

 sudo su jenkins 

将您的github密钥复制到Jenkins .ssh文件夹中

 cp ~/.ssh/id_rsa_github* /var/lib/jenkins/.ssh/ 

重命名密钥

 mv id_rsa_github id_rsa mv id_rsa_github.pub id_rsa.pub 

但仍然不能在jenkins工作的git仓库。

感谢帮助!

切换到jenkins用户并手动运行命令:

 git ls-remote -h git@bitbucket.org:person/projectmarket.git HEAD 

首次通过SSH连接到新主机时,您将获得标准的SSH警告:

 The authenticity of host 'bitbucket.org (207.223.240.181)' can't be established. RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. Are you sure you want to continue connecting (yes/no)? 

inputyes并按Enter键。 bitbucket.org的主机密钥现在将被添加到~/.ssh/known_hosts文件中,而Jenkins中不会再出现这个错误。

jenkins是一个服务帐户,它没有devise的shell。 这是普遍接受的服务帐户。 应该无法以交互方式login。

要解决“Jenkins主机密钥validation失败”,请执行以下步骤。 我已经用jenkins用过了。

1)在terminal上执行以下命令

  $ sudo su -s /bin/bash jenkins 

提供密码

2)使用以下命令生成公用密钥:

  ssh-keygen 

你可以看到输出为::

 Generating public/private rsa key pair. Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: 

3)按回车 – >不要给任何密码 – >按回车

  Key has been generated 

4)去 – > cat /var/lib/jenkins/.ssh/id_rsa.pub

5)从id_rsa.pub复制密钥

6)从bash退出

7) ssh@yourrepository

8) vi .ssh/authorized_keys

9)粘贴键

10)退出

11)手动login到mercurial服务器

注意:请手动login,否则jenkins将再次出现错误“主机validation失败”

12)一旦手动完成,现在去jenkins,并build立

请享用!!!

祝你好运

或者你可以使用:

ssh -oStrictHostKeyChecking=no host

使用https://bitbucket.org/YYYY/XX.git

你应该删除用户名@

有同样的问题,我解决这个问题:

重置id_rsa *上的权限只对当前用户没有其他组没有其他

 chmod o-rwx ~/.ssh/id* chmod G-rwx ~/.ssh/id* ls -lart ~/.ssh/ -rw------- 1 jenkins nogroup 398 avril 3 09:34 id_rsa.pub -rw------- 1 jenkins nogroup 1675 avril 3 09:34 id_rsa 

并清除〜/ .ssh / know_hosts

现在连接作为jenkins

 sudo su jenkins 

尝试jenkins命令

 git ls-remote -h git@bitbucket.org:user/project.git HEAD 

如果没有问题出现,现在jenkins将能够连接回购(至less对我来说^^)

  • 确保我们不编辑任何默认的sshd_config属性来跳过错误

  • 主机validation失败 – 在known_hosts文件中绝对缺less主机名

  • login到进程失败的服务器并执行以下操作:

    1. Sudo给运行该进程的用户

    2. ssh-copy-id destinationuser@destinationhostname

    3. 它会第一次这样提示,说是的,它也会第一次问密码:

       The authenticity of host 'sample.org (205.214.640.91)' can't be established. RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. Are you sure you want to continue connecting (yes/no)? *yes* 

      密码提示? 给密码

    4. 现在从正在运行进程的服务器执行ssh destinationuser@destinationhostname 。 它应该没有密码login。

      注意:不要更改用户的.ssh目录中的文件的默认权限,最终会出现不同的问题

最好的方法就是在Jenkinsfile或者任何你想要的地方使用“https”URL格式的“git url”。

git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'

尝试

ssh-keygen -R主机名

-R hostname从known_hosts文件中删除属于主机名的所有密钥。 此选项对删除散列主机非常有用

SSH

如果您使用SSH进行尝试,则主机密钥validation错误可能是由于以下几个原因造成的。请执行以下步骤来解决所有原因。

  1. 将环境variables设置为HOME并提供地址作为.ssh文件夹的根目录。 例如: – 如果您的.ssh保存在名称文件夹内。 C:/用户/名称。
  2. 现在确保在存储库链接中也提供公共SSH密钥。 要么是github或bitbucket或任何其他。
  3. 打开git bash。 并尝试从存储库克隆项目。 这将有助于将知识库主机文件中的存储库URL添加到.ssh文件夹中自动创build的文件中。
  4. 现在打开jenkins并创build一个新的工作。 然后点击configuration。
  5. 在Git下的源代码pipe理中提供克隆URL。 该url应该以git@github.com / ………或ssh:// proje ……..开头
  6. 在凭证下,您需要添加您正在克隆项目的存储库表单的用户名和密码。 select该凭证。
  7. 现在申请并保存configuration。
  8. 答对了! 开始build设项目。 我希望现在你不会得到任何主机密钥validation错误!