Proteção do SSH e autenticação por chaves
Desative a autenticação por senha, configure pares de chaves, restrinja o acesso com AllowUsers e use fail2ban.
Proteção do SSH e autenticação por chaves é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
Por que a segurança do SSH é importante
O SSH é o principal protocolo de administração remota para servidores Linux. Um servidor SSH configurado incorretamente é um dos pontos de entrada mais comuns para invasores — fica exposto à internet e é alvo constante de bots de força bruta.
Gerando um par de chaves SSH
A autenticação por chave é mais forte do que as senhas. Gere um par de chaves:
ssh-keygen -t ed25519 -C "your_email"
# Creates ~/.ssh/id_ed25519 (private) and id_ed25519.pub (public)
# Never share the private keyInstalando chaves públicas
Copie sua chave pública para o servidor:
ssh-copy-id user@server
# Or manually:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keysDesativando a autenticação por senha
Depois que a autenticação por chave funcionar, desative o acesso por senha para eliminar o risco de força bruta:
# In /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
sudo systemctl restart sshdAlterando a porta SSH padrão
Mover o SSH da porta 22 reduz o ruído da varredura automatizada. Isso é segurança por obscuridade — não é uma defesa real, mas reduz o excesso de registros. Sempre atualize as regras do firewall para corresponder à nova porta.
# /etc/ssh/sshd_config
Port 2222
# Then update firewall:
ufw allow 2222/tcp
ufw delete allow 22/tcpRestringindo o acesso SSH por usuário/IP
Limite quais usuários podem usar SSH e de onde:
# /etc/ssh/sshd_config
AllowUsers alice bob
AllowGroups sshusers
# Or restrict by source IP in /etc/hosts.allow:
sshd: 192.168.1.0/24Tempo limite e limites de acesso do SSH
Reduza a exposição com limites de sessão e de tentativas:
# /etc/ssh/sshd_config
ClientAliveInterval 300 # disconnect idle sessions after 5 min
ClientAliveCountMax 2
MaxAuthTries 3 # max password attempts
LoginGraceTime 30 # seconds to authenticateUsando fail2ban
fail2ban monitora arquivos de registro e bloqueia IPs que apresentam padrões maliciosos (por exemplo, muitas tentativas de acesso SSH malsucedidas). Ele atualiza dinamicamente as regras do firewall para bloquear invasores.
apt install fail2ban
# /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 3600Agente SSH e encaminhamento de chaves
O agente SSH armazena sua chave privada descriptografada na memória para que você não precise redigitar a frase secreta a cada acesso. O encaminhamento do agente (ssh -A) passa sua chave por vários saltos — use-o com cuidado, pois um servidor intermediário comprometido pode roubar sua chave do soquete do agente.
Autenticação de dois fatores para SSH
Adicione TOTP ao SSH com o módulo PAM do Google Authenticator para obter proteção adicional, mesmo usando autenticação por chave. São necessários tanto a chave quanto um OTP baseado em tempo para o acesso.
Auditando a configuração do SSH
Verifique sua configuração do SSH com:
sshd -T | grep -E "passwordauth|permitroot|pubkeyauth|port"
# Check who is connected:
ss -tnp | grep :22
whoVerificação rápida: reforço do SSH
Qual configuração de sshd_config deve ser definida como no para eliminar ataques de força bruta com senha contra o SSH?
Recapitulação da lição
Reforce o SSH: use chaves Ed25519, desative a autenticação por senha, desative o acesso do superusuário, mude da porta 22, restrinja AllowUsers, defina tempos limite de inatividade e instale fail2ban. Nunca compartilhe chaves privadas. Faça auditoria com sshd -T. O encaminhamento do agente é conveniente, mas arriscado em hosts não confiáveis.
Aprenda Cyber Security Academy com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 76
- Aulas
- 303
Perguntas Frequentes
A aula “Proteção do SSH e autenticação por chaves” é grátis?
Sim — o texto completo de “Proteção do SSH e autenticação por chaves” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Proteção do SSH e autenticação por chaves”?
Desative a autenticação por senha, configure pares de chaves, restrinja o acesso com AllowUsers e use fail2ban. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Proteção do SSH e autenticação por chaves”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Permissões e propriedade de arquivos
- Gerenciamento de usuários e grupos
- Proteção do SSH e autenticação por chaves
- Regras de firewall do iptables e UFW