O CH-J Tools só pode adicionar uma chave do tipo pós-quântico ssh-mldsa44-ed25519 a um servidor se esse servidor estiver a executar OpenSSH 10.6 ou posterior. O OpenSSH 10.6 (6 de outubro de 2026) é a primeira versão que suporta a forma normalizada deste tipo de chave. As versões anteriores rejeitam-na. Algumas delas, como a 10.2p1 no Ubuntu 26.04, apenas reconhecem uma variante experimental …@openssh.com que o CH-J Tools não utiliza.
À data de redação deste guia, o Ubuntu e o Debian não disponibilizam a versão 10.6 através do apt. Este guia instala a versão oficial OpenSSH 10.6p2 (5 de novembro de 2026, corrige uma vulnerabilidade que permite contornar a autenticação por palavra-passe em compilações para Linux sem PAM) em paralelo com o pacote da distribuição e configura o serviço ssh para a utilizar.
Testado numa instalação limpa do Ubuntu 26.04.1 LTS: instalação, início de sessão com uma chave ssh-mldsa44-ed25519, reinício e reversão.
Antes de começar
- A manutenção desta compilação fica a seu cargo. O
apt upgradenão fornecerá correções de segurança para esta compilação. Acompanhe as notas de lançamento do OpenSSH e repita o procedimento com uma versão mais recente, ou reverta as alterações. - Mantenha uma segunda sessão SSH aberta durante todo o procedimento. De preferência, garanta também acesso à consola (hipervisor, IPMI, consola da nuvem).
- Experimente primeiro numa máquina de testes.
- Precisa de privilégios de root, systemd, cerca de 1 GiB de espaço livre em
/var/tmpe acesso à Internet para oapte para descarregar o OpenSSH.
O que faz o script
- Instala as dependências de compilação com o
apt. - Descarrega
openssh-10.6p2.tar.gz. Verifica o valor SHA-256 previamente fixado e a assinatura OpenPGP feita com a chave de lançamento do OpenSSH7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - Compila e instala em
/opt/openssh-10.6p2. A configuração em/etc/ssh(chaves do servidor,sshd_config) e a configuração PAM mantêm-se inalteradas. - Verifica o
sshd_configatual com a nova versão. Em seguida, inicia uma instância de teste em127.0.0.1:2226e só efetua a mudança se ambas as verificações forem bem-sucedidas. - Adiciona o ficheiro de configuração complementar do systemd
/etc/systemd/system/ssh.service.d/chj-openssh.confe desativa ossh.socket, porque o sshd do projeto original não suporta ativação por socket. Depois, reinicia ossh.service. - Verifica se o processo em execução é
/opt/openssh-10.6p2/sbin/sshde se a mensagem de identificação éSSH-2.0-OpenSSH_10.6. Se alguma das verificações falhar, reverte as alterações automaticamente.
Instalar
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
Depois, abra uma nova ligação SSH. Feche a sessão antiga apenas depois de confirmar que o novo início de sessão funciona.
Verificar e reverter
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
A reversão remove o ficheiro de configuração complementar, volta a ativar o ssh.socket se este estava ativo anteriormente e reinicia o sshd da distribuição. A compilação em /opt/openssh-10.6p2 permanece no disco até a eliminar. Após a reversão, as chaves ssh-mldsa44-ed25519 deixam de funcionar nesse servidor.
Depois, no CH-J Tools
Volte a ligar-se ao servidor. Em Users, já pode adicionar uma chave ssh-mldsa44-ed25519 a partir do Keychain. Se o servidor continuar a indicar uma versão anterior, o CH-J Tools apresenta a mensagem "OpenSSH 10.6 or newer is required" e não adiciona a chave.