Layer 8Ehrlicher Tech-Support
NetzwerkSchweregrad: LästigHost key verification failed

SSH: Host key verification failed

SSH warnt 'REMOTE HOST IDENTIFICATION HAS CHANGED' und 'Host key verification failed'? So prüfst du die Ursache und entfernst den alten Schlüssel sicher.

Aufwand:
ca. 10 Min.
Voraussetzung:
Zugang zur Router-Oberfläche

Das Symptom

Du verbindest dich wie jeden Tag per SSH – und statt einer Shell prasselt ein alarmierender Block über den Bildschirm: „WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!“, gefolgt von Sätzen über mögliche Lauscher und der harten Bremse Host key verification failed. Die Verbindung wird sofort abgebrochen.

Die „Layer 8“-Wahrheit

Diese Warnung sieht aus wie ein Hackerangriff-Alarm – und genau so ist sie gemeint. SSH hat sich beim ersten Kontakt den „Fingerabdruck“ des Servers gemerkt. Weicht der jetzt ab, kann das im schlimmsten Fall heißen, dass sich jemand dazwischengeschaltet hat. In der Praxis ist der Grund aber meist banal: Der Server wurde neu installiert, eine Cloud-Instanz recycelt oder eine IP neu vergeben – und damit ändert sich der Schlüssel legitim. Der Fehler ist also kein Bug, sondern eine bewusste Sicherheitsbremse. Wichtig ist, sie nicht blind mit einem gelöschten known_hosts wegzuwischen, sondern den neuen Schlüssel kurz zu verifizieren. Dann – und nur dann – ist das gezielte Entfernen des alten Eintrags die richtige Antwort.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Die Warnung ernst nehmen, nicht ignorieren

    SSH nennt in der Meldung die genaue Zeile in known_hosts, an der der alte Schlüssel steht. Erst klären, ob die Änderung plausibel ist (Server neu aufgesetzt, IP neu vergeben) oder überraschend kommt.

  2. 2.

    Den neuen Fingerabdruck verifizieren

    Den Fingerabdruck des Servers über einen unabhängigen Weg prüfen – beim Admin erfragen oder im Cloud-Dashboard vergleichen. Stimmt er überein, ist die Änderung legitim und du kannst gefahrlos weitermachen.

  3. 3.

    Den alten Schlüssel gezielt entfernen

    Statt die ganze known_hosts zu löschen, nur den Eintrag dieses Hosts entfernen. Danach fragt SSH beim nächsten Verbinden neu nach dem Schlüssel:

    ssh-keygen -R hostname_oder_ip
    
  4. 4.

    Neu verbinden und Schlüssel bestätigen

    Beim erneuten Verbinden zeigt SSH den neuen Fingerabdruck. Nur mit 'yes' bestätigen, wenn er mit dem verifizierten übereinstimmt – dann wird er sauber neu hinterlegt:

    ssh benutzer@hostname_oder_ip
    
  5. 5.

    Bei echtem Verdacht nicht verbinden

    Lässt sich der neue Fingerabdruck nicht erklären oder passt er nicht zum erwarteten, brich ab. Dann klärst du zuerst mit dem Serverbetreiber, ob wirklich alles mit rechten Dingen zugeht.

Häufige Fragen (FAQ)

?Warum meldet SSH plötzlich einen geänderten Host-Key?

SSH merkt sich beim ersten Verbinden den Fingerabdruck des Servers in ~/.ssh/known_hosts. Passt der Schlüssel beim nächsten Mal nicht, warnt SSH. Meist ist der Grund harmlos: Der Server wurde neu installiert, eine Cloud-IP wurde neu vergeben oder das System neu aufgesetzt. Selten steckt ein echter Angriff dahinter.

?Ist das nicht ein Sicherheitsrisiko?

Es kann eines sein – genau deshalb warnt SSH so drastisch. Ein geänderter Schlüssel könnte bedeuten, dass sich jemand zwischen dich und den Server schaltet (Man-in-the-Middle). Bevor du den alten Schlüssel löschst, solltest du den neuen Fingerabdruck über einen zweiten, vertrauenswürdigen Kanal bestätigen.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

OSLästigUNPROTECTED PRIVATE KEY FILE

SSH: Permissions for key are too open

SSH verweigert den Schlüssel, weil die Rechte zu offen seien? Ein privater Schlüssel darf nur dir gehören — mit einem chmod ist es in Sekunden behoben.

SWAnfängerfehlerrunning scripts is disabled on this system

PowerShell blockiert die Ausführung von Skripten

Ein Skript startet nicht, weil die Ausführung deaktiviert sei? Das ist kein Defekt, sondern eine Schutzeinstellung — mit bewusst gewähltem Ausweg.

SWLästigconnection refused

PostgreSQL: Connection refused auf Port 5432

Die App erreicht die Datenbank nicht — Connection refused? Meist lauscht PostgreSQL nur auf localhost oder die Client-Freigabe in pg_hba.conf fehlt.

OSAnfängerfehlercannot change locale

Linux: Cannot set LC_ALL to default locale

Ständige locale-Warnungen bei jedem Befehl? Die Sprachumgebung ist gesetzt, aber nicht erzeugt. Ein Generierungslauf beendet das Gemecker dauerhaft.