CH-J Server ManagerSerververwaltung über SSH
Menü
Alle Anleitungen und Artikel →

SSH-Hostschlüssel geändert: Was die Warnung bedeutet und was zu tun ist

Ermitteln Sie, warum ein Server einen neuen Hostschlüssel vorlegt, prüfen Sie ihn über einen anderen Kanal und ersetzen Sie den gespeicherten Eintrag sicher.

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.example

Die 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.

Ausführliche Dokumentation

OpenSSH: ssh →

OpenSSH: ssh-keygen →

Biometrisches Entsperren und Sicherheit →