Como Configurar SSH Seguro no Linux: Chaves Ed25519 e Desativar Acesso Root

O protocolo SSH (Secure Shell) é a principal e mais crítica porta de entrada para o gerenciamento de servidores Linux na nuvem (AWS, Oracle Cloud, GCP, DigitalOcean e clusters de virtualização no Proxmox VE). No entanto, um servidor configurado de forma padrão com autenticação por usuário e senha na porta 22 sofre dezenas de milhares de tentativas de ataque de força bruta por bots a cada 24 horas.

Neste guia definitivo de Hardening de SSH para 2026, você aprenderá a aplicar os mais rigorosos padrões de segurança da indústria: substituir senhas vulneráveis por chaves criptográficas de curva elíptica Ed25519, blindar o arquivo de configuração do daemon OpenSSH, desativar o usuário root e proteger o acesso contra bloqueios acidentais.

1. Análise Criptográfica: Por que Ed25519 Substituiu o RSA 4096?

Durante décadas, o algoritmo RSA com chaves de 2048 ou 4096 bits foi a recomendação padrão. Porém, nos padrões modernos de segurança (OpenSSH 8.0+), o algoritmo Ed25519 baseado na curva elíptica Curve25519 tornou-se a escolha mandatória por motivos matemáticos incontestáveis:

Critério de ComparaçãoChave Ed25519 (Recomendado)Chave RSA 4096-bit (Legado)
Tamanho da Chave PúblicaApenas 68 caracteres (Compacta)Mais de 700 caracteres (Extensa)
Nível de Segurança Efetivo~128 bits de segurança simétrica~128 bits de segurança simétrica
Velocidade de HandshakeUltrarrápida com baixo uso de CPUMais lenta na geração e assinatura
Resistência a Canais LateraisImune por design a ataques de timingSuscetível dependendo da biblioteca

2. Passo a Passo: Gerando sua Chave Ed25519 no Cliente

No seu computador de trabalho (seja ele Linux, macOS ou Windows com PowerShell), execute o comando de geração especificando um comentário corporativo:

ssh-keygen -t ed25519 -C "admin_jonas@tecmestre.com.br"

O utilitário solicitará o local de salvamento (pressione Enter para manter o caminho padrão ~/.ssh/id_ed25519) e exigirá uma Passphrase. Nunca deixe a Passphrase em branco: ela criptografa a sua chave privada no disco, garantindo que mesmo se alguém roubar seu laptop, não conseguirá acessar seus servidores.

3. Transferindo a Chave Pública para o Servidor com Segurança

Utilize o utilitário nativo ssh-copy-id, que se encarrega de criar o diretório .ssh no servidor remoto com as permissões de segurança exatas:

ssh-copy-id -i ~/.ssh/id_ed25519.pub jonas@ip_do_servidor
🔒 Auditoria de Permissões no Servidor: O daemon OpenSSH recusa conexões se as permissões dos arquivos de chave estiverem acessíveis a outros usuários. Verifique se o diretório está em chmod 700 ~/.ssh e o arquivo de chaves em chmod 600 ~/.ssh/authorized_keys, conforme nosso guia de Permissões no Linux.

4. Hardening do Servidor: Configuração do Arquivo sshd_config

Conecte-se ao servidor e abra o arquivo principal de configuração do daemon OpenSSH:

sudo nano /etc/ssh/sshd_config

Localize ou insira as seguintes regras para fechar as portas contra ataques automatizados:

# 1. Desativar login direto do usuário root (forçar login com usuário comum + sudo)
PermitRootLogin no

# 2. Desativar autenticação por senha (exige obrigatoriamente a chave Ed25519)
PasswordAuthentication no
ChallengeResponseAuthentication no
KbdInteractiveAuthentication no

# 3. Desativar senhas vazias e métodos legados
PermitEmptyPasswords no
PubkeyAuthentication yes

# 4. Limitar o número máximo de tentativas de autenticação
MaxAuthTries 3

# 5. Trocar porta padrão (ex: 2222 para neutralizar 95% dos scans de portas automatizados)
Port 2222

5. Teste de Validação e Reinicialização sem Perigo de Bloqueio

⚠️ REGRA DE OURO DO SYSADMIN: Nunca feche o terminal atual antes de testar a nova conexão em uma segunda janela separada!

# Testar se há erros de sintaxe nas diretivas do arquivo
sudo sshd -t

# Se não houver retorno de erro, reinicie o daemon SSH
sudo systemctl restart sshd

Abra uma nova janela de terminal e valide o acesso usando sua chave privada e a nova porta:

ssh -i ~/.ssh/id_ed25519 -p 2222 jonas@ip_do_servidor

🛡️ Certificações de TI

Quer se tornar um SysAdmin Linux Certificado?

Treine com centenas de questões oficiais dos exames Linux Essentials e LPIC-1 com gabarito comentado.

6. Perguntas Frequentes (FAQ)

Por que usar chaves Ed25519 em vez de RSA no SSH?

O Ed25519 oferece criptografia de curva elíptica de alta performance, chaves menores e maior proteção contra ataques de canal lateral.

Como desativar login por senha no SSH Linux?

Defina PasswordAuthentication no dentro do arquivo /etc/ssh/sshd_config e reinicie o serviço sshd.

Qual a porta padrão do SSH e por que alterá-la?

A porta padrão é a 22. Alterá-la para uma porta alta (ex: 2222 ou 22022) reduz em até 95% os ataques automatizados de bots que varrem a internet em busca de portas padrão abertas.

Avatar de Jonas Oliveira
Especialista em Infraestrutura de TI, Linux, Redes e Computação em Nuvem (AWS & Oracle Cloud). Fundador e autor técnico no TecMestre.