CH-J Toolsgerenciamento de servidor sobre SSH
E-mail

OpenSSH 10.6 para chaves SSH pós-quânticas

Transferir ficheiro

A revisão linguística desta tradução está em curso. Em caso de dúvida, consulte o original em inglês.

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

O que faz o script

  1. Instala as dependências de compilação com o apt.
  2. 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 OpenSSH 7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA.
  3. 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.
  4. Verifica o sshd_config atual com a nova versão. Em seguida, inicia uma instância de teste em 127.0.0.1:2226 e só efetua a mudança se ambas as verificações forem bem-sucedidas.
  5. Adiciona o ficheiro de configuração complementar do systemd /etc/systemd/system/ssh.service.d/chj-openssh.conf e desativa o ssh.socket, porque o sshd do projeto original não suporta ativação por socket. Depois, reinicia o ssh.service.
  6. Verifica se o processo em execução é /opt/openssh-10.6p2/sbin/sshd e 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.