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 upgradene lui fournira aucun correctif de sécurité. Suivez les notes de version d'OpenSSH 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/tmpet un accès à Internet pouraptet le téléchargement d'OpenSSH.
Ce que fait le script
- Il installe les dépendances de compilation avec
apt. - 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'OpenSSH7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - 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. - Il vérifie le fichier
sshd_configactuel avec la nouvelle version. Il démarre ensuite une instance de test sur127.0.0.1:2226et ne bascule vers la nouvelle version que si les deux vérifications réussissent. - Il ajoute le fichier de surcharge systemd
/etc/systemd/system/ssh.service.d/chj-openssh.confet désactivessh.socket, car le sshd du projet d'origine ne prend pas en charge l'activation par socket. Il redémarre ensuitessh.service. - Il vérifie que le processus en cours d'exécution est
/opt/openssh-10.6p2/sbin/sshdet que la bannière indiqueSSH-2.0-OpenSSH_10.6. Si l'une des vérifications échoue, il revient automatiquement à la version précédente.
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
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
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é.