# OpenSSH 10.6 für Post-Quanten-SSH-Schlüssel 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 upgrade` liefert dafür keine Sicherheitsupdates. Verfolgen Sie die [OpenSSH-Release-Notes](https://www.openssh.com/releasenotes.html) 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/tmp` und Internetzugang für `apt` und den OpenSSH-Download. ## Was das Skript macht 1. Es installiert die Build-Abhängigkeiten mit `apt`. 2. Es lädt `openssh-10.6p2.tar.gz` herunter. Es prüft die fest hinterlegte SHA-256-Prüfsumme und die OpenPGP-Signatur des OpenSSH-Release-Schlüssels `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Es baut nach `/opt/openssh-10.6p2`. Ihre Konfiguration in `/etc/ssh` (Host-Schlüssel, `sshd_config`) und die PAM-Konfiguration bleiben unverändert. 4. Es prüft die aktuelle `sshd_config` mit der neuen Version. Danach startet es eine Testinstanz auf `127.0.0.1:2226` und stellt nichts um, solange nicht beide Prüfungen bestehen. 5. Es legt das systemd-Drop-in `/etc/systemd/system/ssh.service.d/chj-openssh.conf` an und deaktiviert `ssh.socket`, weil der Upstream-sshd keine Socket-Aktivierung kennt. Dann startet es `ssh.service` neu. 6. Es prüft, dass der laufende Prozess `/opt/openssh-10.6p2/sbin/sshd` ist und das Banner `SSH-2.0-OpenSSH_10.6` lautet. Schlägt eine der Prüfungen fehl, kehrt es selbst zurück. ## Installation ```bash 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 ```bash 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.