staging.inyokaproject.org

sshd hostkeys clonen

Status: Gelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

ruder

Anmeldungsdatum:
20. Dezember 2008

Beiträge: 94

Hallo zusammen,

ein fröhliches neues ...

ich habe einen Entwicklungsserver (security spielt so gut wie keine Rolle), auf dem ich einen standard ssh Server installiert habe (mit|sudo apt install ssh), also auch mit einfacher Password Authentifizierung. Dieser Server wird schrittweise migriert und es ist immer nur der Alte oder der Neue im Netzwerk. Beide Server sind identisch (dual-boot).

Jezt die Preisfrage: Wie bekomme ich es hin, dass die Benutzer nicht bei jedem Wechsel einen neuen Fingerprint akzeptieren müssen. Also (IMHO) den Host Key auf die neue Maschine clonen?

die keys von /etc/ssh (ssh_host_dsa_key etc.) zu kopieren reicht scheinbar nicht.

Könnt Ihr mir Helfen

Vielen Dank

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Sind Hostnamen bzw. IP-Adressen der beiden Systeme auch identisch?

Hatten die betroffenen Benutzer bereits eine Verbindung zum Server, sodass ~/.ssh/known_hosts einen passenden Eintrag aufweist?

Eine Lösung, die weniger hilfreich klingt, findet sich in der ssh(1) Manpage. Im Abschnitt Authentication wird eine hostweit gültige Datei /etc/ssh/ssh_known_hosts angesprochen, in die du deinen Hostschlüssel eintragen kannst. Das bringt dir natürlich nichts, wenn du dann dreißig Client-Systeme bearbeiten musst. 😉

Eine weitere Möglichkeit sehe ich in SSH-Zertifikaten. Ich habe das noch nicht ausprobiert, allerdings hat es den gleichen Effekt wie die TLS-Zertifikate für Websites: Alle Clients lernen einmal, einer bestimmten Zertifizierungsstelle zu vertrauen. Und sobald ein Host mit passend signiertem Zertifikat auftaucht, wird nicht mehr herumgejammert.

Für das Einrichten der Zertifizierungsstelle musst du zwar wiederum an alle Clients - dafür aber nur noch einmal bzw. einmal alle paar Jahre, je nach Zertifikatslaufzeit des Zertifizierungsstellenzertifikats. Wenn du das für die Clients / Anwender gleich mit machst, kannst du automatisch dafür sorgen, dass die ansonsten nicht ablaufenden öffentlichen Schlüssel in den ~/.ssh/authorized_keys sinngemäß auch ein Ablaufdatum erhalten.

Wie bereits geschrieben, habe ich dazu noch nichts ausprobiert. Hier noch ein Beitrag, der vielleicht hilft: SSH certificates (Medium) 🇬🇧

ruder

(Themenstarter)

Anmeldungsdatum:
20. Dezember 2008

Beiträge: 94

Danke Cranvil...

das mit den Zertifikaten ist klar, aber ein zu hoher Aufwand.

Es geht mir vielmehr darum welcher Teil des ssh deamons erzeugt den Fingerprint. Vom Prinzip müßten das die Keypairs in /etc/ssh sein ... in der sshd_config sind diese aber auskommentiert, und wie gesagt ein einfaches Kopieren brachte keinen Erfolg. (Vielleicht habe ich auch dabei auch einen Fehler gemacht | möglich). Mir scheint aber das die Keypairs in etc/ssh schlicht nicht benutzt werden (Auskommentierung).

Mir fehlt sozusagen der Schlüssel zum Schlüssel (Okay blödes Wortspiel.)

Vielen Dank noch einmal, vielleicht gibt es noch eine andere Idee. Also auf welche Weise wir vom sshd der Fingerprint erzeugt?

Cranvil

Anmeldungsdatum:
9. März 2019

Beiträge: 990

Laut der Manpage von ssh und sshd hast du die richtigen Dateien erwischt.

Probier doch mal, das Loglevel sowohl beim Server als auch dem Client anzuheben. Vielleicht passt ja irgendwas anderes nicht, das dort auftaucht. Hast du mal nach den Berechtigungen der Keys geguckt?

Antworten |