Jedes Mal, wenn ich git verwende, um mit einer Fernbedienung zu interagieren, z. B. beim Ziehen oder Drücken, wird die folgende Meldung angezeigt:
Warnung: Der Liste der bekannten Hosts wurde dauerhaft '...' (RSA) hinzugefügt.
Wie kann ich verhindern, dass diese nervige Meldung angezeigt wird? Es ist nur ein Ärger - alles funktioniert richtig.
The authenticity of host '...' can't be established. RSA key fingerprint is .... Are you sure you want to continue connecting (yes/no)?
oder haben Sie das unterdrückt? Wenn ja, ist es jedes Mal der gleiche Fingerabdruck? Wenn nicht, ist das wirklich beängstigend . Die weniger beängstigende Option wäre, dass es irgendwie nicht gelingt, in die Hosts-Datei zu schreiben, sodass es jedes Mal erneut versucht wird. Schau mal rein~/.ssh/known_hosts
?~/.ssh/known_hosts
? (Ist es 5000 mal aufgeführt?) Existiert~/.ssh/config
/ enthält es etwas (insbesondere einen Wert fürStrictHostKeyChecking
)?known_hosts
Datei ist schlecht. Es sollte der Host-Schlüssel in einer schrecklich langen Zeile sein. Wenn Sie dort nur den Hostnamen haben (zum Beispiel), funktioniert dies nicht. Ich empfehle, dass Sie diese Datei entfernen (wenn sie tatsächlich nur die Informationen für diesen einzelnen Host enthält) und SSH erlauben, sie beim nächsten Herstellen einer Verbindung zu erstellen. Danach sollte es still sein.Antworten:
Lösung: Erstellen Sie eine
~/.ssh/config
Datei und fügen Sie die Zeile ein:Beim nächsten Zugriff auf Github wird die Nachricht angezeigt. Danach wird sie nicht mehr angezeigt, da der Host zur
known_hosts
Datei hinzugefügt wird. Dies behebt das Problem, anstatt nur die Protokollnachricht auszublenden.Dieses Problem nervte mich schon seit einiger Zeit. Das Problem tritt auf, weil der für Windows kompilierte OpenSSH-Client die Datei unknown_hosts nicht eincheckt
~/.ssh/known_hosts
ssh -vvvvvvvvvvvvvvvvvvv [email protected]
quelle
~/.ssh/id_rsa
) Schlüssel verwendet hatte, um eine Verbindung zu einem Server herzustellen. Wie @JeremiahGowdy erwähnte, habe ichdebug3: load_hostkeys: loading entries for host "172.16.3.101" from file "/dev/null"
. Warum wird SSH nach/dev/null
dem Ändern des Schlüssels als bekannte_Hosts verwendet?~
in~/.ssh/config
ist der Stammordner des Benutzers. Um es einfach zu öffnen, drücken Sie Win-R und geben Sie diecmd
Eingabetaste ein . Die Eingabeaufforderung sollte bereits in Ihrem Home-Ordner geöffnet sein. Geben Siecd .ssh
Enter und dannstart .
Geben Sie den Ordner in Windows Explorer zu öffnen. Anschließend können Sie die Konfigurationsdatei im Editor erstellen ( beim Speichern keine TXT- Erweiterung). (Pro-Benutzer können direkt an der Eingabeaufforderung selbst eine neue Datei anzeigen.;)
) Führen Sie einen Git-Befehl mit Remote zweimal aus (wiegit fetch
), und Sie sind fertig.Fügen Sie Ihrer ssh-Konfigurationsdatei ($ HOME / .ssh / config) die folgende Zeile hinzu:
Wenn Sie ssh über die Befehlszeile ausführen, fügen Sie der Befehlszeichenfolge die folgende Option hinzu:
Im Folgenden wird beispielsweise die auf machine.example.org installierte gcc-Version ausgedruckt (und keine Warnung):
quelle
LogLevel=quiet
ist eine schlechte Idee, er möchte, dass alle Fehler angezeigt werden, er möchte nur diesen spezifischen abscheulichen Fehler vermeiden. Wahrscheinlich, weil er ssh ausgetrickst hat, um es/dev/null
alsknown_hosts
Datei zu verwenden, wahrscheinlich weil er dieknown_hosts
Überprüfung von Fingerabdrücken deaktivieren wollte, dies aber nicht konnte, weil ssh-Overlords es ihm nicht erlaubten.loglevel=error
zeigt immer noch "Verbindung zu <Server> geschlossen" an, wenn die Verbindung beendet wird, was auch für die Skripterstellung sehr ärgerlich ist.In
LogLevel
der Datei aufERROR
(nichtQUIET
) setzen~/.ssh/config
, um folgende Fehler zu vermeiden:quelle
Diese Nachricht stammt von SSH und warnt Sie, dass Sie eine Verbindung zu einem Host herstellen, mit dem Sie noch nie zuvor eine Verbindung hergestellt haben. Ich würde nicht empfehlen, es auszuschalten, da dies bedeuten würde, dass Sie möglicherweise eine Warnung über eine Änderung des Hostschlüssels verpassen, die auf einen MITM-Angriff auf Ihre SSH-Sitzung hinweisen kann.
quelle
~/.ssh/known_hosts
Sie nach, ob Ihr Gastgeber dort drin ist.ssh-keyscan
.Um Warnmeldungen für
ssh
Sie zu unterdrücken , können Sie die folgenden Zeilen hinzufügen~/.ssh/config
:Dadurch werden Warnungen deaktiviert, jedoch keine Fehlermeldungen. Wie bei den anderen Einstellungen in
~/.ssh/config
können Sie die Einstellungen fürLogLevel
jeden Host einzeln konfigurieren, wenn Sie eine feinere Steuerung wünschen.quelle
Dies bedeutet hauptsächlich, dass der Schlüssel für diesen Host geändert
~/.ssh/known_hosts
wurde und nicht automatisch aktualisiert wird. Daher jedes Mal, wenn Sie diese Warnmeldung erhalten.Dies geschieht häufig beim Herstellen einer Verbindung zu den neu erstellten virtuellen Maschinen, wodurch der Schlüssel mit derselben IP-Adresse geändert wird
Lösung
Wenn Sie nur einen Eintrag haben, können Sie die
~/.ssh/known_hosts
Datei löschen und nach der ersten Verbindung, dass der Schlüssel vorhanden ist, und danach keine Warnmeldungen mehr.Wenn Sie mehrere Einträge haben, können Sie den folgenden Befehl verwenden, um sie zu entfernen
Es funktioniert gut für mich
quelle
Wenn Sie ein Repository von GitHub verwenden, sollten Sie stattdessen die HTTPS- Version der URL verwenden, um dieses Problem vollständig zu umgehen:
Wenn Sie Ihr Repository aus der Windows GitHub-Anwendung heraus klonen, wird dies für die Remote-URL verwendet. Vielleicht wissen sie etwas, was wir nicht wissen.
quelle
Ich habe die gleiche Frage und habe festgestellt, dass sich keine
.ssh
Datei in meiner befindet~
. Also erstelle ich einfach das.ssh
Verzeichnis unter~
Pfad und das Problem ist behoben.quelle
Ich bin auf dasselbe Problem gestoßen, als ich anfing, einen Windows-Computer zu verwenden. In meinem Fall lag es daran, dass mein SSH-Setup nicht durchgeführt wurde. Github hat eine sehr genaue Dokumentation zum SSH-Setup. Sobald dies erledigt ist, wurde das Problem behoben.
https://help.github.com/articles/checking-for-existing-ssh-keys/ https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it- zum-ssh-agent /
quelle
SSH-Schlüssel hinzufügen
Kisten-Konfigurationsdatei
unter der Zeile hinzufügen.
Fügen Sie dann den Pub-Schlüssel hinzu und klonen Sie Ihr Repository ... Fertig .....
quelle
Ich hatte den gleichen Fehler in Linux / Cent OS VM und es war, weil sich die IP nach dem Neustart änderte. Um dieses Problem zu umgehen, habe ich eine statische IP im Netzwerk definiert und diesen Eintrag zur Datei / etc / hosts hinzugefügt. Geben Sie für statische IP einen etwas höheren Bereichswert an. Wenn Ihre aktuelle IP-Adresse (ipconfig / ifconfig) beispielsweise 192.168.0.102 lautet, kann dies beim nächsten Neustart 192.168.0.103 sein. Definieren Sie Ihre statische IP in den IPV4-Einstellungen als 192.168.0.181, was den Trick machen sollte.
quelle
In meinem Fall lag es daran, dass der Administrator, der den Server eingerichtet hat, diese Optionen aktiviert hat
~/.ssh/config
Was in den meisten Fällen gut funktionierte, wenn die
~/.ssh/known_hosts
Datei nicht verwendet wurde . Aber für das Enterprise Gitlab Repo gab es jedes Mal die Meldung "Warnung: Permanent hinzugefügt ... zur Liste der bekannten Hosts".Meine Lösung bestand darin, die
UserKnownHostsFile /dev/null
Zeile zu kommentieren , die die Erstellung von ermöglichte~/.ssh/known_hosts
. Danach gab es keine Warnungen mehr.Möglicherweise haben Sie auch alte / ungültige Einträge in Ihrem
known_hosts
.quelle
Ich nehme meine Lösung wegen anhaltender Abstimmungen ab.
Es war die beste Lösung, ohne den Quellcode des SSH-Clients selbst zu hacken.
Wenn jemand interessiert ist, überprüfen Sie den Bearbeitungsverlauf.
quelle