2017-06-22 156 views
0

My Jenkins托管在Ubuntu 16.我需要将一些构建文件从Ubuntu复制到我的Mac机器。为什么scp在Jenkins中不工作

在“执行shell脚本”我使用下面的命令:

scp -r /home/ben/GIT/dock/MySql [email protected]:/Users/ben/Desktop/MySql 

我能够从Ubuntu终端上运行相同的命令。但是当我从Jenkins执行相同的命令时,它在控制台输出中显示以下错误:

Started by user admin 
Building in workspace /home/ben/GIT/dock 
[dock] $ /bin/sh -xe /tmp/hudson1981676562360554479.sh 
+ cd /home/ben/GIT/dock/ 
+ pwd 
/home/ben/GIT/dock 
+ scp -r /home/ben/GIT/dock/MySql [email protected]_address:/Users/ben/Desktop/MySql 
Host key verification failed. 
lost connection 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

什么是导致此错误的原因?

+3

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

+0

@jww我知道它的编程和开发问题。但这就是我所面临的。这似乎是一个脱离主题?而且我清楚地表明,我能够从终端执行“scp”操作,并在Jenkins做同样的事情时面临问题。 –

+0

您是否尝试先搜索? https://askubuntu.com/questions/45679/ssh-connection-problem-with-host-key-verification-failed-error – fukanchik

回答

0

答案在您的代码中。 Host key verification failed.用ssh连接一次到你的服务器并接受密钥。那么它应该工作。如果您无法连接到SSH,请先修复这些错误。

编辑:

连接与詹金斯用户。所以先转换到那个用户。

+1

请注意,您需要连接一次*作为用户Jenkins作为*运行。 – Adrian

+0

@Stony和Adrian。在jenkins shell执行程序中执行'whoami'后,它将用户显示为'jenkins'。现在詹金斯是一个服务帐户,它没有密码。没有密码,我如何连接SSH。 –

+0

您可以更改为该用户...得到root用户,然后更改为用户... 'su jenkins -s/bin/bash' – Stony