2017-06-22 81 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