CH-J Tools può aggiungere una chiave di tipo post-quantistico ssh-mldsa44-ed25519 a un server solo se questo esegue OpenSSH 10.6 o successivo. OpenSSH 10.6 (6 ottobre 2026) è la prima versione con la forma standardizzata di questo tipo di chiave. Le versioni precedenti la rifiutano. Alcune, come la 10.2p1 in Ubuntu 26.04, riconoscono solo una variante sperimentale …@openssh.com che CH-J Tools non utilizza.
Al momento della stesura, Ubuntu e Debian non distribuiscono la versione 10.6 tramite apt. Questa guida installa la versione ufficiale OpenSSH 10.6p2 (5 novembre 2026, corregge un bypass dell'autenticazione tramite password nelle compilazioni Linux senza PAM) accanto al pacchetto della distribuzione e configura il servizio ssh per utilizzarla.
Testato su un'installazione pulita di Ubuntu 26.04.1 LTS: installazione, accesso con una chiave ssh-mldsa44-ed25519, riavvio e ripristino della versione precedente.
Prima di iniziare
- La manutenzione di questa compilazione è a tuo carico.
apt upgradenon fornirà correzioni di sicurezza per questa compilazione. Segui le note di rilascio di OpenSSH e ripeti la procedura con una versione più recente, oppure ripristina la versione precedente. - Mantieni aperta una seconda sessione SSH per tutta la procedura. Meglio ancora, assicurati di avere accesso alla console (hypervisor, IPMI, console cloud).
- Prova prima su una macchina di test.
- Servono privilegi root, systemd, circa 1 GiB di spazio libero in
/var/tmpe accesso a Internet perapte per scaricare OpenSSH.
Cosa fa lo script
- Installa le dipendenze di compilazione con
apt. - Scarica
openssh-10.6p2.tar.gz. Verifica il valore SHA-256 prefissato e la firma OpenPGP tramite la chiave di rilascio di OpenSSH7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - Compila e installa in
/opt/openssh-10.6p2. La configurazione in/etc/ssh(chiavi host,sshd_config) e la configurazione PAM restano invariate. - Verifica il file
sshd_configattuale con la nuova versione. Poi avvia un'istanza di test su127.0.0.1:2226e non effettua alcun passaggio finché entrambe le verifiche non hanno esito positivo. - Aggiunge il file di configurazione integrativa systemd
/etc/systemd/system/ssh.service.d/chj-openssh.confe disabilitassh.socket, perché sshd del progetto originale non supporta l'attivazione tramite socket. Poi riavviassh.service. - Verifica che il processo in esecuzione sia
/opt/openssh-10.6p2/sbin/sshde che il banner riportiSSH-2.0-OpenSSH_10.6. Se una delle verifiche fallisce, ripristina automaticamente la versione precedente.
Installazione
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
Apri quindi una nuova connessione SSH. Chiudi la vecchia sessione solo dopo aver verificato che il nuovo accesso funzioni.
Verifica e ripristino della versione precedente
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
Il ripristino rimuove il file di configurazione integrativa, riabilita ssh.socket se era abilitato in precedenza e riavvia lo sshd della distribuzione. La compilazione in /opt/openssh-10.6p2 rimane sul disco finché non la elimini. Dopo il ripristino, le chiavi ssh-mldsa44-ed25519 non funzionano più su quel server.
Poi in CH-J Tools
Connettiti nuovamente al server. In Users puoi ora aggiungere una chiave ssh-mldsa44-ed25519 dal Keychain. Se il server segnala ancora una versione precedente, CH-J Tools mostra "OpenSSH 10.6 or newer is required" e non aggiunge la chiave.