Wie überspringe ich die Frage „known_host“, wenn ich mich zum ersten Mal über SSH mit öffentlichen / privaten Schlüsseln mit einem Computer verbinde? [Duplikat]
16
Wie überspringe ich die Frage "known_host", wenn ich mich zum ersten Mal über SSH mit öffentlichen / privaten Schlüsseln mit einem Computer verbinde?
Ich habe monatelang nach Abwesenheit gesucht, um ein Subnetz herauszufiltern (nicht aktiv), genau das habe ich mir gewünscht. Wir haben ein kleines Entwicklungsnetzwerk mit DHCP und unsere Geräte erhalten immer neue IP-Adressen, was die Verbindung zu ihnen VIEL einfacher macht. Vielen Dank!
Adam Lewis
13
Deaktivieren StrictHostKeyCheckingSie über ssh_configoder Befehlszeilenoptionen.
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.)
Ich verwende auch gerne UserKnownHostsFile, damit die Signatur auf meinem System nicht gespeichert wird. Ein schöner Trick:ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeychecking=no hostname
Metavida
2
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):
Wenn Sie die Hostüberprüfung nur vorübergehend deaktivieren möchten, können Sie sich beispielsweise bei einem LiveCD-System anmelden, in einen ~/.ssh/known_hostsanderen Namen umbenennen und diesen nach Abschluss wieder ändern.
Antworten:
Allen anderen aktuellen Antworten fehlt die UserKnownHostsFile = / dev / null
Wenn Sie es nur einmal tun möchten, können Sie Folgendes verwenden:
Wenn Sie es wiederholt ausführen möchten, sollten Sie Ihrer ~ / .ssh / config Folgendes hinzufügen
Um dies zu konfigurieren auf OpenSSH für Windows einfach ersetzen
/dev/null
mitNUL
.Gute Erklärung von: http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
quelle
Deaktivieren
StrictHostKeyChecking
Sie überssh_config
oder Befehlszeilenoptionen.quelle
Sie können den öffentlichen Schlüssel abrufen, zur Datei known_hosts hinzufügen und ihn dann erneut speichern:
quelle
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.)
quelle
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:
Was, wie der Name schon sagt, auch nur für localhost gilt.
quelle
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:
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):
quelle
Wenn Sie die Hostüberprüfung nur vorübergehend deaktivieren möchten, können Sie sich beispielsweise bei einem LiveCD-System anmelden, in einen
~/.ssh/known_hosts
anderen Namen umbenennen und diesen nach Abschluss wieder ändern.quelle
Bingo
quelle