# OpenSSH 10.6 pro postkvantové SSH klíče CH-J Tools umí přidat postkvantový typ klíče `ssh-mldsa44-ed25519` na server jen tehdy, když na něm běží **OpenSSH 10.6 nebo novější**. OpenSSH 10.6 (6. října 2026) je první vydání se standardizovanou podobou tohoto typu klíče. Starší vydání ho odmítnou. Některá z nich, například 10.2p1 v Ubuntu 26.04, znají jen experimentální variantu `…@openssh.com`, kterou CH-J Tools nepoužívá. Ubuntu ani Debian zatím verzi 10.6 přes `apt` nedodávají. Tento návod nainstaluje oficiální **OpenSSH 10.6p2** (5. listopadu 2026, opravuje obejití ověření heslem v linuxových sestaveních bez PAM) vedle balíčku distribuce a přepne na něj službu `ssh`. Vyzkoušeno na čistém Ubuntu 26.04.1 LTS: instalace, přihlášení klíčem `ssh-mldsa44-ed25519`, restart a návrat zpět. ## Než začnete - **Toto sestavení udržujete sami.** `apt upgrade` pro něj bezpečnostní opravy nedodá. Sledujte [poznámky k vydáním OpenSSH](https://www.openssh.com/releasenotes.html) a s novějším vydáním postup zopakujte, nebo se vraťte zpět. - Po celou dobu mějte otevřenou **druhou SSH relaci**. Ještě lepší je přístup ke konzoli (hypervizor, IPMI, konzole cloudu). - Vyzkoušejte to nejdřív na testovacím stroji. - Potřebujete root, systemd, asi 1 GiB volného místa ve `/var/tmp` a přístup k internetu pro `apt` a stažení OpenSSH. ## Co skript dělá 1. Nainstaluje přes `apt` závislosti pro sestavení. 2. Stáhne `openssh-10.6p2.tar.gz`. Zkontroluje pevně zadaný SHA-256 a OpenPGP podpis klíčem vydání OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Sestaví ho do `/opt/openssh-10.6p2`. Vaše konfigurace v `/etc/ssh` (klíče hostitele, `sshd_config`) i konfigurace PAM zůstanou beze změny. 4. Zkontroluje stávající `sshd_config` novou verzí. Pak spustí testovací instanci na `127.0.0.1:2226` a nic nepřepne, pokud obě kontroly neprojdou. 5. Přidá systemd drop-in `/etc/systemd/system/ssh.service.d/chj-openssh.conf` a vypne `ssh.socket`, protože sshd z upstreamu neumí socket activation. Potom restartuje `ssh.service`. 6. Ověří, že běží proces `/opt/openssh-10.6p2/sbin/sshd` a že banner zní `SSH-2.0-OpenSSH_10.6`. Pokud některá kontrola selže, sám se vrátí zpět. ## Instalace ```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 ``` Potom otevřete **novou** SSH relaci. Starou relaci zavřete až ve chvíli, kdy nové přihlášení funguje. ## Kontrola a návrat zpět ```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 ``` Návrat odstraní drop-in, znovu zapne `ssh.socket`, pokud byl předtím zapnutý, a restartuje `sshd` z distribuce. Sestavení v `/opt/openssh-10.6p2` zůstane na disku, dokud ho nesmažete. Po návratu klíče `ssh-mldsa44-ed25519` na tomto serveru přestanou fungovat. ## Potom v CH-J Tools Znovu se připojte k serveru. V modulu **Users** teď můžete přidat klíč `ssh-mldsa44-ed25519` z Keychainu. Pokud server stále hlásí starší verzi, CH-J Tools ohlásí „potřebuje OpenSSH 10.6 nebo novější“ a klíč nepřidá.