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 upgradeno proporcionará correcciones de seguridad para ella. Consulta las notas de las versiones de OpenSSH 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/tmpy acceso a internet paraapty la descarga de OpenSSH.
Qué hace el script
- Instala las dependencias de compilación con
apt. - Descarga
openssh-10.6p2.tar.gz. Comprueba la suma SHA-256 fijada y la firma OpenPGP con la clave de publicación de OpenSSH7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - 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. - Comprueba el archivo
sshd_configactual con la nueva versión. Después inicia una instancia de prueba en127.0.0.1:2226y no cambia nada a menos que ambas comprobaciones sean satisfactorias. - Añade el archivo de configuración complementaria de systemd
/etc/systemd/system/ssh.service.d/chj-openssh.confy desactivassh.socket, porque el sshd del proyecto original no admite la activación por socket. Después reiniciassh.service. - Comprueba que el proceso en ejecución sea
/opt/openssh-10.6p2/sbin/sshdy que el mensaje de identificación seaSSH-2.0-OpenSSH_10.6. Si alguna de las comprobaciones falla, revierte los cambios automáticamente.
Instalación
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
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.