Host key verification failed.
Das Konto, auf dem Jenkins ausgeführt wird, hat wahrscheinlich einen schlechten Wert für den Hostschlüssel für die Maschine, auf die Sie in ~/.ssh/known_hosts.
sshen
Nun, ich habe die know_host-Dateien ersetzt, aber ich hatte immer noch Probleme. Wenn Sie also Probleme mit der know_host-Datei haben, können Sie den fehlerhaften Schlüssel beheben, indem Sie Folgendes tun:
ssh-keygen -R hostnameOfOfendingKey
und dies entfernt den angreifenden Schlüssel und jetzt funktioniert Ihre known_host-Datei wieder.
JETZT, um das andere Problem zu lösen, habe ich die Antwort an dieser anderen Stelle gefunden:https://stackoverflow.com/questions/25755418/executing-rsync-in-jenkins/25770519#25770519
und das habe ich getan, um es zu lösen
sudo su jenkins -s /bin/bash
dann kopiere einmal als jenkins-Benutzer meinen ssh-Schlüssel auf den Server, auf dem ich mich verbinden/Befehle ausführen möchte, etc
ssh-copy-id [email protected]
es wird Ihnen dann dieses
präsentieren[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
dann habe ich dies zu Testzwecken getan:
bash-4.1$ rsync -PSauve ssh --exclude=JenkinsBuild /srv/pd/* [email protected]:/srv/pdc/test1
und es ging vorbei, ohne nach einem Passwort oder irgendetwas zu fragen. Beachten Sie, dass ich immer noch als jenkins angemeldet bin.
Wenn ich also den Jenkins-Job mit einigen Shell-Befehlen als Teil des Builds erstellt habe, funktioniert er wie erwartet :D