Ich habe Probleme, über die Befehlszeile eine IP zu known_hosts hinzuzufügen. Ich habe ein MySQL-Backup-Skript, das Dateien per SFTP auf einen anderen Server hochladen soll. Das Skript funktioniert einwandfrei, aber Sie müssen den SFTP-Befehl einmal manuell ausführen, um die IP zu known_hosts hinzuzufügen, sonst schlägt das Skript fehl.
Das Skript sollte portierbar sein, sodass es auf einem Server abgelegt werden kann und alles automatisch erledigt. Der Benutzer muss beim ersten Mal keine manuelle Verbindung per SFTP herstellen.
Ich habe versucht, die IP mit folgendem Befehl hinzuzufügen:
ssh-keygen -R [receiver IP]
ssh-keyscan -H [receiver IP] >> ~/.ssh/known_hosts
Aber ich erhalte folgenden Fehler:
ssh-keygen: /root/.ssh/known_hosts: Keine solche Datei oder kein solches Verzeichnis
Soll ich einfach Touch hinzufügen, um die Datei known_hosts zu erstellen, oder was ist das Beste, was ich tun kann?
Antwort1
Da es auf jeden Server portierbar sein muss, denke ich, dass die beste Wahl für Sie das Anhängen istStrictHostKeyChecking=neinzu Ihrem SSH-Befehl wie folgt:
ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]
Sie können diese Option auch global in Ihrer SSHD-Konfigurationsdatei wie folgt hinzufügen:
StrictHostKeyChecking No