Wie überspringe ich die Frage "known_host", wenn ich mich zum ersten Mal über SSH mit öffentlichen / privaten Schlüsseln mit einem Computer verbinde?
Wie überspringe ich die Frage "known_host", wenn ich mich zum ersten Mal über SSH mit öffentlichen / privaten Schlüsseln mit einem Computer verbinde?
Antworten:
Allen anderen aktuellen Antworten fehlt die UserKnownHostsFile = / dev / null
Wenn Sie es nur einmal tun möchten, können Sie Folgendes verwenden:
ssh -o StrictHostKeychecking=no hostname
Wenn Sie es wiederholt ausführen möchten, sollten Sie Ihrer ~ / .ssh / config Folgendes hinzufügen
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Um dies zu konfigurieren auf OpenSSH für Windows einfach ersetzen /dev/null
mit NUL
.
Gute Erklärung von: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
Deaktivieren StrictHostKeyChecking
Sie über ssh_config
oder Befehlszeilenoptionen.
$ ssh -o StrictHostKeychecking=no hostname
Dadurch wird die Prüfung übersprungen und der Schlüssel des Remote-Hosts wird beim ersten Anmelden automatisch hinzugefügt. (Es gibt auch die Option CheckHostIP, aber sie scheint die Prüfung, ob überhaupt ein Schlüssel vorhanden ist, nicht zu deaktivieren.)
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeychecking=no hostname
Ich brauchte eine Weile, um zu finden. Der häufigste Anwendungsfall, den ich gesehen habe, ist der, wenn Sie SSH-Tunnel zu Remotenetzwerken verwenden. Alle Lösungen hier erzeugten Warnungen, die meine Skripte (Nagios) brachen.
Die Option, die ich brauchte, war:
NoHostAuthenticationForLocalhost yes
Was, wie der Name schon sagt, auch nur für localhost gilt.
Sie können die Überprüfung deaktivieren, aber das ist natürlich weniger sicher. In einer idealen Situation sollten Sie jemanden, der bereits Zugriff auf die Maschine hat, bitten, den öffentlichen Host-Schlüssel abzurufen und ssh mit der Verwendung zu beauftragen. dh: nimm die Ausgabe von:
cat /etc/ssh/ssh_host_rsa_key.pub
Stellen Sie den Hostnamen des Computers voran und fügen Sie diese Zeile der Datei ~ / .ssh / known_hosts auf Ihrem Computer hinzu. Sie werden mit etwas enden, das wie folgt aussieht:
myhost.example.com ssh-rsa AAAAB3Netc ...
Alternativ können Sie Ihren Helfer ausführen lassen, wenn Sie nur den Fingerabdruck des Schlüssels erfassen möchten, der möglicherweise einfacher über einen Kanal mit begrenzter Bandbreite zu übertragen ist (wie ein Telefonanruf):
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
Bingo