# OpenSSH 10.6 per le chiavi SSH post-quantistiche 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 upgrade` non fornirà correzioni di sicurezza per questa compilazione. Segui le [note di rilascio di OpenSSH](https://www.openssh.com/releasenotes.html) 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/tmp` e accesso a Internet per `apt` e per scaricare OpenSSH. ## Cosa fa lo script 1. Installa le dipendenze di compilazione con `apt`. 2. Scarica `openssh-10.6p2.tar.gz`. Verifica il valore SHA-256 prefissato e la firma OpenPGP tramite la chiave di rilascio di OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Compila e installa in `/opt/openssh-10.6p2`. La configurazione in `/etc/ssh` (chiavi host, `sshd_config`) e la configurazione PAM restano invariate. 4. Verifica il file `sshd_config` attuale con la nuova versione. Poi avvia un'istanza di test su `127.0.0.1:2226` e non effettua alcun passaggio finché entrambe le verifiche non hanno esito positivo. 5. Aggiunge il file di configurazione integrativa systemd `/etc/systemd/system/ssh.service.d/chj-openssh.conf` e disabilita `ssh.socket`, perché sshd del progetto originale non supporta l'attivazione tramite socket. Poi riavvia `ssh.service`. 6. Verifica che il processo in esecuzione sia `/opt/openssh-10.6p2/sbin/sshd` e che il banner riporti `SSH-2.0-OpenSSH_10.6`. Se una delle verifiche fallisce, ripristina automaticamente la versione precedente. ## Installazione ```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 ``` 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 ```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 ``` 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.