CH-J Tools kann den Post-Quanten-Schlüsseltyp ssh-mldsa44-ed25519 nur dann auf einem Server hinzufügen, wenn dort OpenSSH 10.6 oder neuer läuft. OpenSSH 10.6 (6. Oktober 2026) ist das erste Release mit der standardisierten Form dieses Schlüsseltyps. Ältere Releases lehnen ihn ab. Einige davon, etwa 10.2p1 in Ubuntu 26.04, kennen nur eine experimentelle Variante …@openssh.com, die CH-J Tools nicht verwendet.
Ubuntu und Debian liefern 10.6 derzeit nicht über apt aus. Diese Anleitung installiert das offizielle OpenSSH 10.6p2 (5. November 2026, behebt eine Umgehung der Passwortanmeldung bei Linux-Builds ohne PAM) neben dem Paket der Distribution und stellt den Dienst ssh darauf um.
Getestet auf einem frischen Ubuntu 26.04.1 LTS: Installation, Anmeldung mit einem ssh-mldsa44-ed25519-Schlüssel, Neustart und Rückkehr.
Bevor Sie beginnen
- Diesen Build pflegen Sie selbst.
apt upgradeliefert dafür keine Sicherheitsupdates. Verfolgen Sie die OpenSSH-Release-Notes und wiederholen Sie den Vorgang mit einem neueren Release, oder kehren Sie zurück. - Halten Sie während des gesamten Vorgangs eine zweite SSH-Sitzung offen. Noch besser ist Konsolenzugang (Hypervisor, IPMI, Cloud-Konsole).
- Probieren Sie es zuerst auf einem Testsystem aus.
- Sie brauchen Root, systemd, etwa 1 GiB freien Platz in
/var/tmpund Internetzugang füraptund den OpenSSH-Download.
Was das Skript macht
- Es installiert die Build-Abhängigkeiten mit
apt. - Es lädt
openssh-10.6p2.tar.gzherunter. Es prüft die fest hinterlegte SHA-256-Prüfsumme und die OpenPGP-Signatur des OpenSSH-Release-Schlüssels7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - Es baut nach
/opt/openssh-10.6p2. Ihre Konfiguration in/etc/ssh(Host-Schlüssel,sshd_config) und die PAM-Konfiguration bleiben unverändert. - Es prüft die aktuelle
sshd_configmit der neuen Version. Danach startet es eine Testinstanz auf127.0.0.1:2226und stellt nichts um, solange nicht beide Prüfungen bestehen. - Es legt das systemd-Drop-in
/etc/systemd/system/ssh.service.d/chj-openssh.confan und deaktiviertssh.socket, weil der Upstream-sshd keine Socket-Aktivierung kennt. Dann startet esssh.serviceneu. - Es prüft, dass der laufende Prozess
/opt/openssh-10.6p2/sbin/sshdist und das BannerSSH-2.0-OpenSSH_10.6lautet. Schlägt eine der Prüfungen fehl, kehrt es selbst zurück.
Installation
curl -fsSLO https://tools.ch-j.de/files/tools/chj-openssh-10.6.sh
echo "cdf3031a0b64db3e3bf3c83d31bd746aee5505757b1af5e137750326ed8d7a01 chj-openssh-10.6.sh" | sha256sum -c -
less chj-openssh-10.6.sh # read it before running it as root
sudo bash chj-openssh-10.6.sh install
Öffnen Sie danach eine neue SSH-Verbindung. Schließen Sie die alte Sitzung erst, wenn die neue Anmeldung funktioniert.
Prüfen und zurückkehren
sudo bash chj-openssh-10.6.sh status # running binary, ssh.socket, banner
sudo bash chj-openssh-10.6.sh rollback # back to the distribution sshd
Die Rückkehr entfernt das Drop-in, aktiviert ssh.socket wieder, falls es vorher aktiv war, und startet den sshd der Distribution neu. Der Build in /opt/openssh-10.6p2 bleibt auf der Festplatte, bis Sie ihn löschen. Nach der Rückkehr funktionieren ssh-mldsa44-ed25519-Schlüssel auf diesem Server nicht mehr.
Danach in CH-J Tools
Verbinden Sie sich erneut mit dem Server. Unter Users können Sie jetzt einen ssh-mldsa44-ed25519-Schlüssel aus der Keychain hinzufügen. Meldet der Server weiterhin eine ältere Version, zeigt CH-J Tools „OpenSSH 10.6 oder neuer erforderlich“ an und fügt den Schlüssel nicht hinzu.