#!/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