Autenticação de dois fatores (2FA) adiciona camada extra de segurança ao SSH. Mesmo com senha ou chave comprometida, atacante precisa do segundo fator. Este guia mostra como configurar.
O que é 2FA?
2FA requer dois fatores: algo que você sabe (senha/chave) e algo que você tem (token/celular). Google Authenticator é solução popular.
Instalação
Instale libpam-google-authenticator: apt install libpam-google-authenticator (Ubuntu/Debian) ou yum install google-authenticator (CentOS). Configure PAM.
Configuração Inicial
Execute: google-authenticator. Escolha opções: time-based tokens (sim), permitir múltiplos tokens (sim), window (1), e disable rate limiting (não).
Configuração SSH
Edite /etc/ssh/sshd_config. Configure: ChallengeResponseAuthentication yes, UsePAM yes. Reinicie SSH: systemctl restart sshd.
Configuração PAM
Edite /etc/pam.d/sshd. Adicione: auth required pam_google_authenticator.so. Teste configuração antes de aplicar para todos.
App Authenticator
Instale app no celular (Google Authenticator, Authy). Escaneie QR code gerado. Use código de 6 dígitos como segundo fator.
Backup Codes
Salve códigos de backup gerados. Use se perder acesso ao app. Armazene em local seguro.
Teste
Teste login com 2FA. Conecte via SSH. Digite senha/chave. Digite código do app. Verifique funcionamento.
Conclusão
2FA aumenta significativamente segurança do SSH. Configure adequadamente para proteger acesso ao servidor dedicado.