【发布时间】:2020-08-01 01:00:17
【问题描述】:
我正在 Jenkins 中创建一个管道。当我尝试添加存储库 URL 时,出现以下错误:
无法连接到存储库:命令“git.exe ls-remote -h -- git@bitbucket.org:somename/myproject.git HEAD" 返回状态码 128:stdout:stderr:主机密钥验证失败。致命的:不能 从远程存储库中读取。
请确保您拥有正确的访问权限和存储库 存在。
我在这里更改了 repo 名称作为示例,但我正在访问的 repo 是有效且公开的,任何人都可以访问。
谷歌搜索不断回到 ssh 的问题。我不确定它是否与我有关。在我正在执行此操作的机器上,我可以处理该存储库(通过终端或 ide 拉/推),因为我已经为我的 bitbucket 设置了 ssh 密钥并且它工作正常。
我应该为 Jenkins 单独设置另一组 ssh 密钥吗?我很困惑。请问我可以得到一些帮助吗?谢谢。
编辑:
如果我添加一个 github 存储库,请注意没有问题,例如如下: https://github.com/bradtraversy/vanilla-parcel-boilerplate.git
【问题讨论】:
-
如果这是一个公共 repo(允许匿名读取),请使用 http(s) url 而不是 ssh。不能匿名使用 ssh。如果您仍然需要/想要使用 ssh,则必须 1) 在
/home/jenkins/.ssh/known_hosts中添加目标服务器主机密钥(手动或通过从命令行与 jenkins 用户启动第一个 ssh 连接)2) 配置私有jenkins 中用于该连接的密钥凭据。 -
@Zeitounator 谢谢。它确实适用于 https。对于您的第 1 点,手动添加我已经用来连接到 bitbucket 的当前 ssh 密钥值?另外 .ssh 是我自己添加的吗?因为即使我可以看到其他隐藏文件夹,它也不存在。