Wenn Sie mit einem neuen Host-Schlüssel nur einmal eine Verbindung zu einem System herstellen möchten, ohne Fragen beantworten zu müssen, verwenden Sie die folgende Option:
Um die Warnung für alle Systeme dauerhaft zu entfernen , bearbeiten Sie Ihre ~/.ssh/configDatei, und fügen Sie die folgenden Zeilen hinzu:
Host *
StrictHostKeyChecking no
Um alle Warnungen für diesen einen Server dauerhaft zu entfernen , bearbeiten Sie Ihre ~/.ssh/configDatei und fügen Sie die folgenden Zeilen hinzu:
Host this.one.hostname
StrictHostKeyChecking no
Um die Warnung für diese eine Änderung für diesen einen Server zu entfernen, entfernen Sie den Hostschlüssel für diesen Server von ~/.ssh/known_hosts. Wenn Sie das nächste Mal eine Verbindung herstellen, wird der neue Hostschlüssel hinzugefügt.
In der zweiten Option muss diese Konfiguration auf der Serverseite vorgenommen werden, zu der wir eine Verbindung herstellen, oder?
Kaffeebecher
Nein, es ist Ihre eigene $HOME/.ssh/config, die sowohl bei der zweiten als auch bei der dritten Option eine Rolle spielt.
Jenny D
Dies gibt immer noch eine Warnung für mich aus (obwohl dies die Verbindung zulässt).
Michael Mior
24
Fügen Sie dies zu Ihrer ~ / .ssh / config hinzu:
Host 10.* # use your own pattern here, eg. *.example.com, example.*.com
StrictHostKeyChecking no # turn off the HostKey check
LogLevel ERROR # keep it from printing to STDOUT
UserKnownHostsFile /dev/null # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish.
MOD UP - nur einer, der die Frage tatsächlich beantwortete - dies war die einzige Antwort, um nicht nur zu arbeiten, sondern die WARNHINWEISE ZU UNTERDRÜCKEN.
Brad
Hoppla, es scheint, dass Benutzer von fish shell die nette automatische Vervollständigung von ssh für zuvor verbundene Hosts nicht verwenden können, wenn sie UserKnownHostFile auf / dev / null setzen. Fischbenutzer und möglicherweise jeder sollte das nicht einstellen.
Elijah Lynn
Sie sollten ein ssh0Skript / einen Alias / eine Funktion dafür erstellen ssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERRORund diese ausdrücklich verwenden, anstatt diese Optionen zu speichern ~/.ssh/config. Sie können sie vergessen und sich dann fragen, warum die Überprüfungen nicht funktioniert haben, als Sie nur wollten, dass sie funktionieren.
Onkel Billy
20
Sie können die Leitung für diesen Host herausnehmen ~/.ssh/known_host(jeder Host hat dort eine Leitung als Eintrag).
Manchmal ist es wünschenswert, Host-Schlüssel nicht zu den Standard-$ HOME / .ssh / known_hosts hinzuzufügen.
Verwenden Sie -o UserKnownHostsFile=/dev/nullzusätzlich zu -qund -o StrictHostKeyChecking=no, um known_hosts übersichtlich zu halten. Hier ist ein Beispiel:
Ein alternativer Vorschlag besteht darin, festzustellen, warum sich der Hostschlüssel ändert, und ihn dazu zu bringen, dies zu unterbrechen.
Beispiel: Wenn Sie Hosts in Containern oder über ein Bereitstellungssystem erstellen, stellen Sie sicher, dass diese konsistent denselben bekannten Hostschlüssel pro Instanz verwenden.
Mir ist durchaus bewusst, dass dies nicht immer möglich ist und Hosts möglicherweise außerhalb Ihres Einflussbereichs verwaltet werden. Diese Warnungen zu Hostschlüsseln sind jedoch aus einem bestimmten Grund vorhanden und von Bedeutung. Das Reduzieren der Ausnahmezahl ist eine gute Sache.
$HOME/.ssh/config
, die sowohl bei der zweiten als auch bei der dritten Option eine Rolle spielt.Fügen Sie dies zu Ihrer ~ / .ssh / config hinzu:
quelle
ssh0
Skript / einen Alias / eine Funktion dafür erstellenssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERROR
und diese ausdrücklich verwenden, anstatt diese Optionen zu speichern~/.ssh/config
. Sie können sie vergessen und sich dann fragen, warum die Überprüfungen nicht funktioniert haben, als Sie nur wollten, dass sie funktionieren.Sie können die Leitung für diesen Host herausnehmen
~/.ssh/known_host
(jeder Host hat dort eine Leitung als Eintrag).Alternative ist zu verwenden:
Nur zu benutzen,
-q
wäressh
lautlos gescheitert.quelle
Manchmal ist es wünschenswert, Host-Schlüssel nicht zu den Standard-$ HOME / .ssh / known_hosts hinzuzufügen.
Verwenden Sie
-o UserKnownHostsFile=/dev/null
zusätzlich zu-q
und-o StrictHostKeyChecking=no
, um known_hosts übersichtlich zu halten. Hier ist ein Beispiel:quelle
Ein alternativer Vorschlag besteht darin, festzustellen, warum sich der Hostschlüssel ändert, und ihn dazu zu bringen, dies zu unterbrechen.
Beispiel: Wenn Sie Hosts in Containern oder über ein Bereitstellungssystem erstellen, stellen Sie sicher, dass diese konsistent denselben bekannten Hostschlüssel pro Instanz verwenden.
Mir ist durchaus bewusst, dass dies nicht immer möglich ist und Hosts möglicherweise außerhalb Ihres Einflussbereichs verwaltet werden. Diese Warnungen zu Hostschlüsseln sind jedoch aus einem bestimmten Grund vorhanden und von Bedeutung. Das Reduzieren der Ausnahmezahl ist eine gute Sache.
Andernfalls stimme ich für StrictHostKeyChecking Nein in Ihrem Namen nur
~/.ssh/config
für den betreffenden Host.quelle