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到进程失败的服务器并执行以下操作:
-
Sudo给运行该进程的用户
-
ssh-copy-id destinationuser@destinationhostname
-
它会第一次这样提示,说是的,它也会第一次问密码:
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*
密码提示? 给密码
-
现在从正在运行进程的服务器执行
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错误可能是由于以下几个原因造成的。请执行以下步骤来解决所有原因。
- 将环境variables设置为HOME并提供地址作为.ssh文件夹的根目录。 例如: – 如果您的.ssh保存在名称文件夹内。 C:/用户/名称。
- 现在确保在存储库链接中也提供公共SSH密钥。 要么是github或bitbucket或任何其他。
- 打开git bash。 并尝试从存储库克隆项目。 这将有助于将知识库主机文件中的存储库URL添加到.ssh文件夹中自动创build的文件中。
- 现在打开jenkins并创build一个新的工作。 然后点击configuration。
- 在Git下的源代码pipe理中提供克隆URL。 该url应该以git@github.com / ………或ssh:// proje ……..开头
- 在凭证下,您需要添加您正在克隆项目的存储库表单的用户名和密码。 select该凭证。
- 现在申请并保存configuration。
- 答对了! 开始build设项目。 我希望现在你不会得到任何主机密钥validation错误!