OpenSSH é a principal ferramenta de conectividade para login remoto usando o protocolo SSH
Após seis meses de desenvolvimento , foi anunciado o lançamento da nova versão do OpenSSH 9.1 , uma versão que se caracteriza principalmente por conter correções de bugs, incluindo correções para diversas vulnerabilidades potenciais causadas por problemas de memória.
Para quem não conhece o OpenSSH, trata-se de um conjunto de aplicativos que permite a comunicação criptografada em uma rede usando o protocolo SSH. Ele foi criado como uma alternativa gratuita e de código aberto ao programa proprietário Secure Shell.
Principais novos recursos do OpenSSH 9.1
Nesta nova versão do OpenSSH 9.1, como mencionado no início, a versão é corretiva e, entre os problemas abordados nesta versão, está, por exemplo, a solução para o estouro de um único byte no código de processamento do banner SSH no utilitário ssh-keyscan.
Outro problema abordado nesta nova versão do OpenSSH 9.1 foi a chamada dupla à função free() em caso de erro durante o cálculo de hashes para arquivos no código para criar e verificar assinaturas digitais no utilitário ssh-keygen.
Além disso, também é mencionado que o projeto portátil OpenSSH agora assina commits e libera tags usando o recente suporte de assinatura git SSH. As chaves de assinatura da lista de desenvolvedores estão incluídas no repositório como .git_allowed_signers e são assinadas com a chave PGP que ainda é usada para assinatura
artefatos de lançamento, portanto, pode haver um problema de incompatibilidade.
Com relação às mudanças ocorridas, menciona-se que as diretivas SetEnv nos arquivos de configuração ssh_config e sshd_config agora aplicam o valor da primeira ocorrência de uma variável de ambiente se ela estiver definida várias vezes na configuração (anteriormente, a última ocorrência era utilizada).
Ao chamar o utilitário ssh-keygen com o sinalizador "-A" (que gera todos os tipos de chave de host suportados por padrão), a geração de chaves DSA, que não são usadas por padrão há vários anos, é desabilitada.
O sftp-server e o sftp implementam a extensão " [email protected] " para permitir que o cliente solicite nomes de usuário e nomes de grupo correspondentes a um determinado conjunto de identificadores numéricos (uid e gid). No sftp, essa extensão é usada para exibir nomes ao listar o conteúdo de um diretório.
O sftp-server implementa a extensão "home-directory" para expandir os caminhos ~/ e ~user/, uma alternativa à extensão " [email protected] " proposta anteriormente para os mesmos fins (a extensão "home-directory" foi proposta para padronização e já foi endossada por alguns clientes).
No sftp, argumentos adicionais são permitidos na opção "-D" (por exemplo, "/usr/libexec/sftp-server -el debug3"), enquanto o ssh-keygen permite o uso de "-U" (usando ssh-agent) juntamente com as operações de sinal "-Y" para determinar que as chaves privadas sejam colocadas no ssh-agent.
Outras alterações feitas nesta nova versão incluem:
- Adicionada a capacidade de ssh-keygen e sshd para especificar a hora UTC ao determinar os intervalos de validade do certificado e da chave, além da hora do sistema.
- Chamada dupla para free() ao lidar com erros no utilitário ssh-keysign.
- A diretiva RequiredRSAsize foi adicionada ao ssh e ao sshd, permitindo definir o tamanho mínimo permitido de chaves RSA. No sshd, chaves menores que isso serão ignoradas, enquanto no ssh, elas encerrarão a conexão.
- A edição portátil OpenSSH foi convertida para usar chaves SSH para assinar digitalmente commits e tags no Git.
Por fim, se tiver interesse em saber mais, você pode encontrar os detalhes no seguinte link.
Como instalar o OpenSSH 9.1 no Linux?
Para aqueles interessados em instalar esta nova versão do OpenSSH em seus sistemas, por enquanto, podem fazê-lo baixando o código-fonte e compilando-o em seus computadores.
Isso ocorre porque a nova versão ainda não foi incluída nos repositórios das principais distribuições Linux. Para obter o código-fonte, você pode usar o seguinte link.
Após a conclusão do download, descompactaremos o pacote com o seguinte comando:
tar -xvf abresh-9.1.tar.gz
Entramos no diretório criado:
cd abresh-9.1
E podemos realizar a compilação com os seguintes comandos:
./configure --prefix = / opt --sysconfdir = / etc / ssh make make install