# OpenSSH 10.6 para claves SSH poscuánticas CH-J Tools solo puede añadir el tipo de clave poscuántica `ssh-mldsa44-ed25519` a un servidor si este ejecuta **OpenSSH 10.6 o posterior**. OpenSSH 10.6 (6 de octubre de 2026) es la primera versión que incluye la forma estandarizada de este tipo de clave. Las versiones anteriores la rechazan. Algunas, como 10.2p1 en Ubuntu 26.04, solo reconocen una variante experimental `…@openssh.com` que CH-J Tools no utiliza. En el momento de redactar esta guía, Ubuntu y Debian no distribuyen 10.6 a través de `apt`. Esta guía instala la versión oficial **OpenSSH 10.6p2** (5 de noviembre de 2026, corrige una vulnerabilidad que permite eludir la autenticación por contraseña en compilaciones para Linux sin PAM) junto al paquete de la distribución y configura el servicio `ssh` para que la utilice. Probado en una instalación limpia de Ubuntu 26.04.1 LTS: instalación, inicio de sesión con una clave `ssh-mldsa44-ed25519`, reinicio y reversión. ## Antes de empezar - **El mantenimiento de esta compilación corre por tu cuenta.** `apt upgrade` no proporcionará correcciones de seguridad para ella. Consulta las [notas de las versiones de OpenSSH](https://www.openssh.com/releasenotes.html) y repite el procedimiento con una versión más reciente, o revierte los cambios. - Mantén **una segunda sesión SSH abierta** durante todo el procedimiento. Mejor aún, asegúrate de tener acceso a la consola (hipervisor, IPMI, consola de la nube). - Pruébalo primero en una máquina de pruebas. - Necesitas permisos de root, systemd, aproximadamente 1 GiB libre en `/var/tmp` y acceso a internet para `apt` y la descarga de OpenSSH. ## Qué hace el script 1. Instala las dependencias de compilación con `apt`. 2. Descarga `openssh-10.6p2.tar.gz`. Comprueba la suma SHA-256 fijada y la firma OpenPGP con la clave de publicación de OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Compila e instala en `/opt/openssh-10.6p2`. Tu configuración en `/etc/ssh` (claves de host, `sshd_config`) y la configuración de PAM permanecen sin cambios. 4. Comprueba el archivo `sshd_config` actual con la nueva versión. Después inicia una instancia de prueba en `127.0.0.1:2226` y no cambia nada a menos que ambas comprobaciones sean satisfactorias. 5. Añade el archivo de configuración complementaria de systemd `/etc/systemd/system/ssh.service.d/chj-openssh.conf` y desactiva `ssh.socket`, porque el sshd del proyecto original no admite la activación por socket. Después reinicia `ssh.service`. 6. Comprueba que el proceso en ejecución sea `/opt/openssh-10.6p2/sbin/sshd` y que el mensaje de identificación sea `SSH-2.0-OpenSSH_10.6`. Si alguna de las comprobaciones falla, revierte los cambios automáticamente. ## Instalación ```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 ``` Después, abre una conexión SSH **nueva**. Cierra la sesión anterior solo cuando funcione el nuevo inicio de sesión. ## Comprobación y reversión ```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 ``` La reversión elimina el archivo de configuración complementaria, vuelve a activar `ssh.socket` si estaba activado antes y reinicia el `sshd` de la distribución. La compilación en `/opt/openssh-10.6p2` permanece en el disco hasta que la elimines. Tras la reversión, las claves `ssh-mldsa44-ed25519` dejan de funcionar en ese servidor. ## A continuación, en CH-J Tools Vuelve a conectarte al servidor. En **Users**, ahora puedes añadir una clave `ssh-mldsa44-ed25519` desde Keychain. Si el servidor sigue indicando una versión anterior, CH-J Tools muestra "OpenSSH 10.6 or newer is required" y no añade la clave.