使用GitLab和Jenkins时出现主机密钥验证失败的问题。

3
每当我尝试将我的GITLAB git地址放入Jenkins时,就会收到Host key verification failed错误。
我已经尝试过: -使用多个不同的SSH路径。包括删除:和替换/。使用http -我已经通过ssh并尝试在终端中运行该命令,当提示输入y/n时,我按了Y。 -它可以与Github配合使用。 -我尝试进入我的jenkins/.ssh/ida_pub并添加我的密钥。
无法连接到存储库:命令"/usr/local/git/bin/git ls-remote -h git@:/.git HEAD"返回状态码128: 标准输出: 标准错误:主机密钥验证失败。 致命错误:无法从远程存储库读取。
请确保您具有正确的访问权限并且存储库存在。

你正在使用哪个版本的GitLab? - VonC
你尝试过在配置中使用IP而不是主机名吗?就像这个链接中的 https://github.com/gitlabhq/gitlabhq/issues/2106? - VonC
2个回答

3
如果您在Gitlab中将要连接的存储库设为公共(设置 -> 编辑项目 -> 公共模式),则应该能够使用http进行连接(但仅限于http)。
如果存储库不是公共的,则需要在Jenkins上安装具有访问存储库权限的SSH密钥。我的理解是,Jenkins git插件目前不使用已在Jenkins中存储的SSH凭据,因此您需要在将运行此构建的主机和从机上安装密钥。如何操作取决于您的操作系统,但我发现在Linux上使用SSH配置文件最容易。

1
非常感谢。是的,我需要添加我的SSH密钥,并且我按照这个指南来解决它。 - Keith Rumjahn
@keith-rumjahn,你的链接已经失效了,请尝试使用这个链接:https://gist.github.com/victorborda/2871029 - harperville
1
@harperville 两个都已经挂了。 - IceFire
最终目的是在多个 Jenkins slaves(以及主机)上使用来自我的SSH公共/私有密钥对的同一公共密钥。将该密钥添加到您的GitLab中,并将公共(.pub)和私有密钥部署到需要访问存储库的服务器上。 - harperville

1

仪表板 > 管理 Jenkins > 配置全局安全性 > Git 主机密钥验证配置。 然后在主机密钥验证策略中选择接受首次连接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接