2016-07-23 21 views
2

Ich versuche, auf einem anderen Server von Jenkins-Server bereitzustellen, und ich kann es nicht mithilfe Jenkins Build-Skript tun.Bereitstellung von Jenkins-Server auf einem anderen Server: Überprüfung des Hostschlüssels fehlgeschlagen

Wenn ich auf dem Jenkins-Server bin, kann ich bereitstellen. Zum Beispiel:

:/var/lib/jenkins/workspace/MyProject$ scp my_file [email protected]_address:~/MyProject 

Läuft vollkommen in Ordnung; jedoch

Wenn ich angeben:

scp my_file [email protected]_address:~/MyProject 

In "Execute Shell" unter build in Fenster Jenkins. Ich erhalte die folgende Fehlermeldung:

Host key verification failed. 

Ich weiß, dass das erste Mal, dass ich den obigen Befehl direkt auf Jenkins Server lief, habe ich aufgefordert wurde:

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)? 

So hatte ich „Ja“, um zu treffen weitermachen. Da ich aber schon direkt im Terminal bin, muss ich nichts extra machen.

Zweite Antwort auf diese Frage: Jenkins Host key verification failed

zeigt an, dass, wenn ich es richtig verstehen.

Was fehlt mir? Was kann ich tun, um mein Problem zu beheben?

Antwort

5

Ich habe es funktioniert, musste ich zwei Dinge tun:

1) Ich hatte -o StrictHostKeyChecking=no zu verwenden:

scp -v -o StrictHostKeyChecking=no my_file [email protected]_address:~/MyProject 

statt:

scp my_file [email protected]_address:~/MyProject 

2) Ich musste kopiere meine id_rsa zu /var/lib/jenkins/.ssh

Die /var/lib/jenkins/.ssh Ordner und Dateien darin müssen im Besitz von Jenkins sein.

0

alte Frage, aber kann jemand diese nützlich finden würde:

ssh root @ jenkinsMaster 'echo "$ (ssh-keyscan -t rsa, dsa jenkinsSlave)" >> /root/.ssh/known_hosts'