# OpenSSH 10.6 pour les clés SSH post-quantiques CH-J Tools ne peut ajouter une clé de type post-quantique `ssh-mldsa44-ed25519` à un serveur que si celui-ci utilise **OpenSSH 10.6 ou une version ultérieure**. OpenSSH 10.6 (6 octobre 2026) est la première version à prendre en charge la forme normalisée de ce type de clé. Les versions antérieures la rejettent. Certaines, comme 10.2p1 dans Ubuntu 26.04, ne reconnaissent qu'une variante expérimentale `…@openssh.com` que CH-J Tools n'utilise pas. Au moment de la rédaction, Ubuntu et Debian ne proposent pas la version 10.6 via `apt`. Ce guide installe la version officielle **OpenSSH 10.6p2** (5 novembre 2026, corrige un contournement de l'authentification par mot de passe dans les compilations Linux sans PAM) à côté du paquet de la distribution et configure le service `ssh` pour l'utiliser. Testé sur une installation vierge d'Ubuntu 26.04.1 LTS : installation, connexion avec une clé `ssh-mldsa44-ed25519`, redémarrage et retour à la version précédente. ## Avant de commencer - **Vous assurez vous-même la maintenance de cette compilation.** `apt upgrade` ne lui fournira aucun correctif de sécurité. Suivez les [notes de version d'OpenSSH](https://www.openssh.com/releasenotes.html) et répétez la procédure avec une version plus récente, ou revenez à la version précédente. - Gardez une **deuxième session SSH ouverte** pendant toute la procédure. Mieux encore, prévoyez un accès à la console (hyperviseur, IPMI, console cloud). - Essayez d'abord sur une machine de test. - Il vous faut les droits root, systemd, environ 1 GiB d'espace libre dans `/var/tmp` et un accès à Internet pour `apt` et le téléchargement d'OpenSSH. ## Ce que fait le script 1. Il installe les dépendances de compilation avec `apt`. 2. Il télécharge `openssh-10.6p2.tar.gz`. Il vérifie le SHA-256 fixé et la signature OpenPGP à l'aide de la clé de publication d'OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Il compile et installe dans `/opt/openssh-10.6p2`. Votre configuration dans `/etc/ssh` (clés d'hôte, `sshd_config`) et la configuration PAM restent inchangées. 4. Il vérifie le fichier `sshd_config` actuel avec la nouvelle version. Il démarre ensuite une instance de test sur `127.0.0.1:2226` et ne bascule vers la nouvelle version que si les deux vérifications réussissent. 5. Il ajoute le fichier de surcharge systemd `/etc/systemd/system/ssh.service.d/chj-openssh.conf` et désactive `ssh.socket`, car le sshd du projet d'origine ne prend pas en charge l'activation par socket. Il redémarre ensuite `ssh.service`. 6. Il vérifie que le processus en cours d'exécution est `/opt/openssh-10.6p2/sbin/sshd` et que la bannière indique `SSH-2.0-OpenSSH_10.6`. Si l'une des vérifications échoue, il revient automatiquement à la version précédente. ## 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 ``` Ouvrez ensuite une **nouvelle** connexion SSH. Ne fermez l'ancienne session qu'après avoir vérifié que la nouvelle connexion fonctionne. ## Vérification et retour à la version précédente ```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 ``` Le retour à la version précédente supprime le fichier de surcharge, réactive `ssh.socket` s'il était activé auparavant et redémarre le `sshd` de la distribution. La compilation dans `/opt/openssh-10.6p2` reste sur le disque jusqu'à ce que vous la supprimiez. Après le retour à la version précédente, les clés `ssh-mldsa44-ed25519` ne fonctionnent plus sur ce serveur. ## Ensuite, dans CH-J Tools Reconnectez-vous au serveur. Dans **Users**, vous pouvez désormais ajouter une clé `ssh-mldsa44-ed25519` depuis le Keychain. Si le serveur indique toujours une version antérieure, CH-J Tools affiche « OpenSSH 10.6 or newer is required » et n'ajoute pas la clé.