OpenWrt: Funktion auf remote host per SSH triggern
Der große Vorteil von OpenWrt ist das offene System inklusive cron,
shell und diversen Skript-Möglichkeiten. Allerdings gibt es einen
Unterschied zwischen der Ausführung von ssh
in einem
Hook-Skript und in einer interaktiven Shell.
In der interaktiven Shell kann die Authentizität des entfernten Rechners bestätigt werden, im Skript ohne Terminal ist das nicht möglich.
Wenn man sich stderr
ansieht, wird man folgendes finden
Host 'remote-server' is not in the trusted hosts file. (ssh-rsa fingerprint md5 de:ad:be:af:ff:48:47:ed:c5:d6:de:ad:be:af:ff:ce) Do you want to continue connecting? (y/n) ssh: Connection to remote-server exited: Didn't validate host key
Während in einer interaktiven Shell die Datei /root/.ssh/known_hosts
gelesen und der Fingerprint damit verglichen wird, passiert das im
nicht-interaktiven Modus innerhalb eines Skripts nicht.
Die Lösung besteht leider darin, die Host-Authentifizierung mit dem
Parameter -y
zu deaktivieren.
5.9.2014 12:18 | software | permanent link