So sieht die Meldung aus
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Host key verification failed.Häufige Ursachen
- Der Server wurde neu installiert oder seine SSH-Schlüssel wurden neu erzeugt.
- Die IP-Adresse oder der Hostname gehört jetzt zu einer anderen Maschine, z. B. nach einem Cloud-Neuaufbau.
- Ein Load Balancer oder Cluster liefert verschiedene Server mit verschiedenen Schlüsseln aus.
- DNS zeigt auf einen anderen Host als vorher.
- Selten: Jemand fängt die Verbindung ab.
Prüfen
- Welcher Schlüssel ist für diesen Host gespeichert?
ssh-keygen -F server.example.com - Fingerabdruck, den der Server jetzt zeigt
ssh-keyscan -t ed25519 server.example.com 2>/dev/null | ssh-keygen -lf - - Fingerabdruck auf dem Server selbst (über Konsole oder vertrauenswürdigen Kanal)
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
Lösung
- Beide Fingerabdrücke vergleichen. Passen sie zum erwarteten neuen Server, weitermachen.
- Nur den alten Eintrag entfernen:
ssh-keygen -R server.example.com(und die IP-Adresse, falls auch sie eingetragen ist). - Erneut verbinden und den neuen Schlüssel nach Prüfung des Fingerabdrucks akzeptieren.
- Hat sich der Schlüssel unerwartet geändert, nicht verbinden. Den Besitzer fragen oder die Konsole des Anbieters nutzen.
- Bei neu aufgebauten Servern, die ihre Identität behalten sollen, die alten
/etc/ssh/ssh_host_*-Dateien aus dem Backup zurückspielen.
Häufige Fragen
Kann ich die Warnung mit StrictHostKeyChecking=no abschalten?
Technisch ja, aber damit fällt der Schutz vor Abfangen weg. Besser den Eintrag korrigieren, und diese Option nie dauerhaft nutzen.
Warum erscheint sie nach jedem Neuaufbau meines Cloud-Servers?
Ein neuer Server erzeugt neue Host-Schlüssel. Das Aufräumen mit ssh-keygen -R im Aufbauskript automatisieren oder die Host-Schlüssel sichern und zurückspielen.