Jenkins pipeline Git error: “Host Key Verification Failed” when connecting to remote repository

Jenkins pipeline Git error: “Host Key Verification Failed” when connecting to remote repository

我正在使用我的 PC 作为服务器来使用声明性管道构建我的 Jenkins 脚本。

当 运行 在 git bash 上克隆 git 时,效果很好:

$ git clone ssh://guillaumed@myserver.com:29418/myProjects/thisProject.git ThisFirmware
Cloning into 'ThisFirmware'...
remote: Counting objects: 889, done
remote: Finding sources: 100% (203/203)
Receiving objects:  79% (121769/152721), 48.11 MiB | 10.35 MiB/s

但是运行它通过流水线在同一台机器上:

sh "git clone ssh://guillaumed@myserver.com:29418/myProjects/thisProject.git ThisFirmware"

给我以下错误

[Pipeline] sh
+ git clone ssh://guillaumed@myserver.com:29418/myProjects/thisProject.git ThisFirmware
Cloning into 'ThisFirmware'...
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

有什么提示吗?

为了确保我使用了相同的密钥,多亏了 Jens,管道脚本找不到密钥。

我需要做什么?

这个link没有帮助。

确实,如果您以 SYSTEM 身份登录,则无法使用 ssh 结帐。

以 "thisUser" 的身份结账:

您需要配置 Jenkins。

1/ 添加用户"thisUser"

2/ 添加用户的 ssh 凭据"thisUser-ssh-credentials"

3/使用ssh-agent插件https://wiki.jenkins.io/display/JENKINS/SSH+Agent+Plugin

然后配置你的管道

dir(server_workspace) 
{
    sshagent(credentials: ['thisUser-ssh-credentials'] ) 
    {
        sh "git clone ssh://thisUser@domain.com:port/yourProjects/thisProject.git"
    }
}