#!/intro

O SSH permite autenticação através de palavra-passe ou baseada em chaves assimétricas. A autenticação por palavra-passe, embora funcional, apresenta vulnerabilidades como a suscetibilidade a ataques de força bruta, a reutilização de credenciais, a possível exposição através de servidores maliciosos e a ausência de controlo granular sobre os acessos. É recomendável desativar o acesso por palavra-passe no servidor SSH sempre que possível.

Na autenticação por chaves, o cliente detém uma chave privada local e fornece ao servidor a chave pública correspondente. Este método garante que apenas quem possui a chave privada pode autenticar-se, permitindo um controlo de acessos mais granular, dado que as chaves podem ser geridas individualmente por utilizador e associadas a restrições específicas.

O utilitário ssh-keygen é utilizado para gerar as chaves assimétricas necessárias:

  • Chave privada: Deve ser protegida localmente e não partilhada.
  • Chave pública: Copiada para o servidor remoto.

Seguem-se as instruções para gerar chaves SSH com diferentes algoritmos, indicando características e opções relevantes.


> RSA

Gerar chave RSA (2048 bits):

ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa

Para 4096 bits (recomendado para maior robustez):

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_4096

Características:

  • Compatível com a maioria dos sistemas.
  • Recomendado utilizar 3072 ou 4096 bits.

> ECDSA

Gerar chave ECDSA (prime256v1 - curva P-256):

ssh-keygen -t ecdsa -b 256 -f ~/.ssh/id_ecdsa

Para curvas maiores:

ssh-keygen -t ecdsa -b 384 -f ~/.ssh/id_ecdsa_384
ssh-keygen -t ecdsa -b 521 -f ~/.ssh/id_ecdsa_521

Características:

  • Curvas elípticas eficientes.
  • Boa escolha para ambientes com restrições de desempenho.

> Ed25519

Gerar chave Ed25519 (recomendado para novos sistemas):

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519

Características:

  • Curva moderna, elevada segurança com chave curta.
  • Alta performance e resistência contra ataques de colheita futura.

> ED448

Se suportado pela implementação OpenSSH:

ssh-keygen -t ed448 -f ~/.ssh/id_ed448

Características:

  • Variante mais robusta que Ed25519.
  • Menor suporte em alguns sistemas.

> proteger_chave

Adicionar passphrase para proteção adicional:

ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N "passphrase_segura"

> listar_algoritmos

Verificar algoritmos disponíveis:

ssh -Q key

> configuração_adicional

Após gerar as chaves, é obrigatório garantir permissões seguras para a chave privada, caso contrário o cliente SSH recusará a utilização da mesma:

chmod 600 ~/.ssh/id_nome_algoritmo

> conclusão

A escolha do algoritmo deve ser baseada no equilíbrio entre segurança, compatibilidade e eficiência. Para novos ambientes, Ed25519 é geralmente a opção recomendada. Contudo, RSA (4096 bits) e ECDSA continuam válidos, dependendo dos requisitos específicos.

> status: generated
> exit 0