SSH-Login mit falschem Hostkey
Es gibt einen SSH-Client, der sich per Key auf meinem SSH-Server anmeldet. (Zumindest tat er das vor dem Serverwechsel)
Ich musste den Server neu aufsetzen und dabei hat dieser einen neuen Hostkey erhalten.
Nun kann sich der Client nicht mehr anmelden...
Leider habe ich keine Möglichkeit, den neuen Hostkey auf dem Client hinzuzufügen bzw. die Hostkeyprüfung dort abzuschalten. Er versucht nun zyklisch eine Verbindung herzustellen, was natürlich nicht gelingt.
Besteht eine Möglichkeit, diesen Client temporär auf den Server zu lassen, damit ich einen Zugang erhalte?
(Sobald er online ist, kann ich ihn remote administrieren)
Uwe
Ich musste den Server neu aufsetzen und dabei hat dieser einen neuen Hostkey erhalten.
Nun kann sich der Client nicht mehr anmelden...
Leider habe ich keine Möglichkeit, den neuen Hostkey auf dem Client hinzuzufügen bzw. die Hostkeyprüfung dort abzuschalten. Er versucht nun zyklisch eine Verbindung herzustellen, was natürlich nicht gelingt.
Besteht eine Möglichkeit, diesen Client temporär auf den Server zu lassen, damit ich einen Zugang erhalte?
(Sobald er online ist, kann ich ihn remote administrieren)
Uwe
Please also mark the comments that contributed to the solution of the article
Content-Key: 63871001051
Url: https://administrator.de/contentid/63871001051
Printed on: April 27, 2024 at 06:04 o'clock
14 Comments
Latest comment
Besteht eine Möglichkeit, diesen Client temporär auf den Server zu lassen
...oder indem du in der SSH Server Konfigurationsdatei unter "/etc/ssh/sshd_config" wieder den Username/Passwort Login erlaubst.PasswordAuthentication und ChallengeResponseAuthentication jeweils auf YES setzen.
Das hebelt dann aber dein sicheres Login mit einem Key aus und öffnet den Server für Passwort Attacken. Frage ob du das wirklich willst?!
Eine andere Option gibt es nicht. Logisch, denn der Key soll ja gerade vor solcherart Manipulationen schützen um den Zugang sicherer zu machen. Idealerweise mit fail2ban sofern der SSH Server öffentlich erreichbar ist.
Siehe zu der Thematik auch hier.
Wenn es das denn war bitte deinen Thread dann auch als erledigt markieren!
How can I mark a post as solved?
How can I mark a post as solved?
...oder indem du in der SSH Server Konfigurationsdatei unter "/etc/ssh/sshd_config" wieder den Username/Passwort Login erlaubst.
Und das brauchst Du ja nur für ein einziges Login. Danach sollte sich der Hostkey aktualisert haben und wenn Du den Pubkey auf dem Server hinterlegt hast, der Client sich auch per Key wieder einloggen können.Viele Grüße, commodity
Leider habe ich keine Möglichkeit, den neuen Hostkey auf dem Client hinzuzufügen
Auf die known_hosts hast du keinen Zugriff?In
~/.ssh/known_hosts
am Client die Zeile für den Host entfernen, oder per Option -o "StrictHostKeyChecking=off"
.Oder eben SSH-Client zurücksetzen wenn der keine andere Möglichkeit bietet den Hostkey zu aktualisieren, kann ich mir aber ehrlich gesagt nicht vorstellen.
Gruß pp.
Das was @puderpader sagt.
Ich fürchte, einige verwechseln "Host-Key" mit "Public Key für Authentifizierung".
Um das vielleicht nochmal zu klären:
Der Host-Key bei SSH ist quasi das SSL-Zertifikat des Servers. Bei der ersten Verbindung muss man es explizit akzeptieren, dann ist Ruhe. Ändert sich der Host-Key/Zertifikat misstraut der Client dem Server und bricht die Verbindung ab.
Das kann prinzipbedingt, wie bei SSL auch, nicht durch den Server gesteuert werden. Das wäre ja ziemlich sinnlos, wenn der Server dem Client einreden kann dass er der Verbindung vertrauen soll.
Deshalb gibt es nur die Möglichkeit, den alten Key wiederherzustellen oder den Client manuell dazu zu bringen dem neuen Key zu vertrauen.
Da hilft keine Einstellung am Server, erst recht nichts zu Login mit Passwort.
Ich fürchte, einige verwechseln "Host-Key" mit "Public Key für Authentifizierung".
Um das vielleicht nochmal zu klären:
Der Host-Key bei SSH ist quasi das SSL-Zertifikat des Servers. Bei der ersten Verbindung muss man es explizit akzeptieren, dann ist Ruhe. Ändert sich der Host-Key/Zertifikat misstraut der Client dem Server und bricht die Verbindung ab.
Das kann prinzipbedingt, wie bei SSL auch, nicht durch den Server gesteuert werden. Das wäre ja ziemlich sinnlos, wenn der Server dem Client einreden kann dass er der Verbindung vertrauen soll.
Deshalb gibt es nur die Möglichkeit, den alten Key wiederherzustellen oder den Client manuell dazu zu bringen dem neuen Key zu vertrauen.
Da hilft keine Einstellung am Server, erst recht nichts zu Login mit Passwort.
Korrekt gesehen (und auch von mir übersehen). Das Problem liegt genau hier:
Ganz gleich ob Pubkey-Auth oder Password-Auth, der Client muss nach Wechsel des Hostkeys zwangsläufig fragen, ob die auf Seiten des Hosts erfolgte Änderung akzeptiert wird. Wenn aber "keine Möglichkeit" besteht, mit dem Client zu interagieren kann natürlich dort nichts akzeptiert werden.
Der TO muss also eine Möglichkeit schaffen, einen SSH-Login auf dem Client anzustoßen, bei dem er den neuen Hostkey bestätigen kann. Ich sehe auch nicht, was daran so schwierig sein sollte. Solange man irgendwie auf den Client kommt (vor Ort, RDP, VNC, SSH...), kann man das durchführen. Wenn der Client unerreichbar ist, wird das hingegen nichts. Das wäre dann aber auch ein administratives Fehlkonstrukt, da ein technischer Defekt ja offenbar nicht vorliegt.
Viele Grüße, commodity
Leider habe ich keine Möglichkeit, den neuen Hostkey auf dem Client hinzuzufügen bzw. die Hostkeyprüfung dort abzuschalten.
Ganz gleich ob Pubkey-Auth oder Password-Auth, der Client muss nach Wechsel des Hostkeys zwangsläufig fragen, ob die auf Seiten des Hosts erfolgte Änderung akzeptiert wird. Wenn aber "keine Möglichkeit" besteht, mit dem Client zu interagieren kann natürlich dort nichts akzeptiert werden.
Der TO muss also eine Möglichkeit schaffen, einen SSH-Login auf dem Client anzustoßen, bei dem er den neuen Hostkey bestätigen kann. Ich sehe auch nicht, was daran so schwierig sein sollte. Solange man irgendwie auf den Client kommt (vor Ort, RDP, VNC, SSH...), kann man das durchführen. Wenn der Client unerreichbar ist, wird das hingegen nichts. Das wäre dann aber auch ein administratives Fehlkonstrukt, da ein technischer Defekt ja offenbar nicht vorliegt.
Viele Grüße, commodity
Scheint ja echt ein Staatsgeheimnis zu sein um welchem Client es sich nun handelt ...🤫
Dann gib dem Verantwortlichen für den Client bescheid das er den alten zwischengespeicherten Fingerprint des Hosts auf deinen aktuellen aktualisiert oder entfernt, wenn du deine alten Keys des Servers nicht aus einem Backup wiederherstellen kannst/willst.
Dann gib dem Verantwortlichen für den Client bescheid das er den alten zwischengespeicherten Fingerprint des Hosts auf deinen aktuellen aktualisiert oder entfernt, wenn du deine alten Keys des Servers nicht aus einem Backup wiederherstellen kannst/willst.