Was die Warnung aussagt
Ein Server weist seine Identität mit einem Hostschlüssel nach. Unterscheidet sich dieser von dem Schlüssel, den Ihr Client zuvor gespeichert hat, zeigt OpenSSH REMOTE HOST IDENTIFICATION HAS CHANGED an und verweigert die Verbindung. Der Client kann eine harmlose Änderung nicht von einem Angriff unterscheiden. Betrachten Sie die Warnung daher als ungeklärt, bis Sie die Änderung überprüft haben.
Häufige Ursachen
Übliche Ursachen sind ein neu installierter Server, eine aus einem Abbild wiederhergestellte oder geklonte VM, eine inzwischen einem anderen Rechner zugewiesene Adresse und ein Lastverteiler, der Sie an verschiedene Knoten weiterleitet. Ein Angreifer, der die Verbindung abfängt, löst dieselbe Warnung aus. Wenn Sie keine Änderung erwartet haben, halten Sie inne und geben Sie kein Passwort ein.
Fingerabdrücke vergleichen
Lesen Sie den tatsächlichen Fingerabdruck auf dem Server über einen Kanal aus, der nicht von dieser SSH-Verbindung abhängt, etwa die Konsole des Anbieters oder des Hypervisors. Der Befehl ssh-keyscan zeigt nur, was Ihnen das Netzwerk präsentiert, und beweist allein daher nichts. Er ist nur zum Vergleich mit dem Wert aus der Konsole nützlich.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -Den alten Eintrag ersetzen
Entfernen Sie den alten Eintrag erst, wenn die Fingerabdrücke übereinstimmen, und verbinden Sie sich erneut. Ein vom Standard abweichender Port hat einen eigenen Eintrag mit eckigen Klammern. ssh-keygen bewahrt die vorherige Datei als known_hosts.old auf. Deaktivieren Sie StrictHostKeyChecking nicht und löschen Sie nicht die gesamte Datei known_hosts, denn dadurch entfernen Sie den Schutz für alle Ihre Server.
ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.exampleDie Warnung nach einer Neuinstallation vermeiden
Wenn Sie einen Server neu aufsetzen und seine Identität behalten möchten, sichern Sie die Hostschlüssel in /etc/ssh geschützt und stellen Sie sie mit demselben Eigentümer und denselben Berechtigungen wieder her. Bei Klonen gilt das Gegenteil: Jeder Rechner aus demselben Abbild benötigt eigene Hostschlüssel, sonst teilen sich mehrere Server eine Identität.
Hostschlüssel in CH-J Server Manager
Die Anwendung speichert SHA-256-Fingerabdrücke der Hostschlüssel in ihrem verschlüsselten Tresor, getrennt von der OpenSSH-Datei known_hosts. Bei einer Änderung blockiert sie die Verbindung und zeigt den bekannten und den neuen Fingerabdruck an. Der Eintrag wird nur nach Ihrer Bestätigung ersetzt; ein Abbruch ändert nichts. In Alpha 0.1.1 umfasst die Prüfung auch jeden Sprungserver, und eine laufende Übertragung stoppt bei einer Schlüsseländerung. Die Anwendung kann den neuen Fingerabdruck nicht für Sie verifizieren; die Prüfung über einen anderen Kanal bleibt daher Ihre Aufgabe.