从Jenkins服务器部署到另一台服务器:主机密钥验证失败

Aka*_*all 3 scp jenkins

我试图从Jenkins服务器部署到另一台服务器,我不能使用Jenkins Build脚本.

当我在Jenkins服务器上时,我可以部署.例如:

:/var/lib/jenkins/workspace/MyProject$ scp my_file ubuntu@my_address:~/MyProject
Run Code Online (Sandbox Code Playgroud)

运行完美; 然而,

当我指定:

scp my_file ubuntu@my_address:~/MyProject
Run Code Online (Sandbox Code Playgroud)

在Jenkins窗口中构建的"Execute Shell"中.我收到以下错误:

Host key verification failed.
Run Code Online (Sandbox Code Playgroud)

我知道第一次直接在Jenkins服务器上运行上面的命令时,我被提示:

The authenticity of host 'my_address (my_address)' can't be established.
ECDSA key fingerprint is cf:4b:58:66:d6:d6:87:35:76:1c:aa:cf:9a:7c:78:cc.
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)

所以我不得不点击"是"才能继续.但由于我已经直接在终端,我不需要做任何额外的事情.

这个问题的第二个答案:Jenkins主机密钥验证失败

表示,如果我理解正确的话.

我错过了什么?我该怎么做才能解决我的问题?

Aka*_*all 10

我搞定了,我需要做两件事:

1)我不得不使用-o StrictHostKeyChecking=no:

scp -v -o StrictHostKeyChecking=no my_file ubuntu@my_address:~/MyProject
Run Code Online (Sandbox Code Playgroud)

代替:

scp my_file ubuntu@my_address:~/MyProject
Run Code Online (Sandbox Code Playgroud)

2)我需要复制我id_rsa/var/lib/jenkins/.ssh

其中的/var/lib/jenkins/.ssh文件夹和文件需要由jenkins拥有.