Ative autenticação em dois fatores (2FA) no SSH com chave + TOTP, no Proxmox, no RDP do Windows Server e nos painéis cPanel e Plesk, sem se trancar fora.
Para que serve
A autenticação em dois fatores (2FA ou MFA) exige, além da senha ou da chave, um segundo elemento que o invasor não tem: um código temporário do celular (TOTP) ou uma chave física (FIDO2/WebAuthn). Mesmo que uma senha vaze em phishing ou em um computador infectado, o login não acontece. Este artigo mostra onde ativar 2FA em um servidor dedicado típico: SSH, Proxmox VE, RDP do Windows Server e painéis de hospedagem.
Pré-requisitos
- Um aplicativo autenticador TOTP (Aegis, 2FAS, Google Authenticator, Microsoft Authenticator, Bitwarden Authenticator) ou uma chave de segurança FIDO2 (YubiKey, Nitrokey etc.).
- Um gerenciador de senhas para guardar os códigos de recuperação.
- Acesso ao console IPMI/iLO testado, para se recuperar caso o 2FA bloqueie o seu login.
Autenticação em dois fatores: qual segundo fator escolher
| Tipo | Resiste a phishing? | Observação |
|---|---|---|
| Chave FIDO2 / WebAuthn | Sim | Melhor opção para administradores. Funciona no Proxmox, no Bitwarden e em vários painéis. |
| TOTP (código de 6 dígitos) | Parcialmente | Bom e gratuito. Um site falso pode pedir o código e usá-lo em tempo real. |
| Notificação push | Parcialmente | Prefira a versão com número de confirmação, para evitar aprovar por cansaço. |
| SMS | Não | Use só quando não houver outra opção. |
Passo a passo: 2FA no SSH (chave + código TOTP)
O ideal é combinar a chave SSH (algo que você tem no computador) com um código TOTP (algo no celular). Os comandos valem para Debian 12/13, Ubuntu 24.04 e o host Proxmox VE. Se você ainda não usa chaves, veja antes o artigo sobre como proteger o SSH.
- Instale o módulo PAM:
sudo apt update sudo apt install libpam-google-authenticator - Gere o segredo com o seu usuário (não com root, a menos que você entre como root):
Escaneie o QR code no aplicativo e guarde os códigos de emergência no gerenciador de senhas. O segredo fica emgoogle-authenticator -t -d -f -r 3 -R 30 -w 3~/.google_authenticator. - Configure o PAM do SSH. Edite
/etc/pam.d/sshd, comente a linha@include common-auth(para não pedir a senha do usuário, já que o primeiro fator será a chave) e adicione no fim:
Oauth required pam_google_authenticator.so nulloknullokdeixa entrar usuários que ainda não configuraram o TOTP. Retire-o quando todos tiverem configurado. - Configure o sshd em um arquivo próprio,
/etc/ssh/sshd_config.d/20-2fa.conf:UsePAM yes KbdInteractiveAuthentication yes AuthenticationMethods publickey,keyboard-interactive - Valide e recarregue:
Em outra janela, teste o login. Deve aceitar a chave e pedirsudo sshd -t && sudo systemctl reload sshVerification code.
Passo a passo: 2FA no Proxmox VE
- No canto superior direito, abra o menu do seu usuário e vá em TFA (ou Datacenter → Permissions → Two Factor).
- Prefira Add → WebAuthn se tiver chave física; para isso, configure antes em Datacenter → Options → WebAuthn Settings o nome do site e a origem com o endereço exato usado no navegador (ex.:
https://pve.exemplo.com.br:8006). Sem chave física, use Add → TOTP. - Adicione também Recovery Keys e guarde fora do servidor.
- Repita para
root@pame para todo usuário administrativo. O passo a passo inicial está no artigo de primeiros passos no Proxmox VE.
O Proxmox Backup Server tem o mesmo recurso em Configuration → Access Control → Two Factor Authentication.
Passo a passo: 2FA no RDP do Windows Server
O Windows Server 2022 e 2025 não têm TOTP nativo para o login por RDP. Há três caminhos realistas:
- RDP só pela VPN com 2FA (recomendado): feche a porta 3389 na internet e exija 2FA na VPN, que fica em uma VM dedicada no Proxmox. O segundo fator é cobrado antes de qualquer pacote chegar ao Windows.
- Agente de MFA no logon do Windows: soluções como o Duo Authentication for Windows Logon pedem um segundo fator no login RDP e no console. Instale primeiro em um servidor de teste e deixe a opção de contorno (bypass) offline configurada, para não ficar sem acesso se o serviço de MFA estiver fora.
- RD Gateway com extensão NPS do Microsoft Entra: indicado para quem já usa Microsoft 365/Entra ID. Exige licenciamento Entra adequado e um servidor RD Gateway.
Passo a passo: 2FA em painéis de hospedagem e aplicações
- cPanel/WHM: no WHM, ative em Security Center → Two-Factor Authentication e defina se é obrigatório para revendas e contas.
- Plesk: instale a extensão de autenticação em dois fatores no catálogo de extensões e exija para os administradores.
- Virtualmin/Webmin: em Webmin Configuration → Two-Factor Authentication, escolha o provedor TOTP e depois ative para cada usuário.
- WordPress, phpMyAdmin, ERPs: use plugins ou a configuração nativa de 2FA; para ferramentas sem 2FA, coloque-as atrás da VPN.
- Contas fora do servidor: área do cliente do provedor, registro de domínio, DNS (Cloudflare, Registro.br) e e-mail do administrador. Quem controla o DNS ou o e-mail de recuperação consegue tomar todo o resto.
Como saber se funcionou
- SSH:
ssh -v usuario@203.0.113.10mostraAuthenticated using "publickey" with partial successe em seguida pede o código. - Sem a chave, o SSH recusa a conexão antes de pedir o código.
- Proxmox: ao fazer login, depois da senha aparece a tela pedindo o segundo fator.
- Painéis: saia e entre novamente; o código deve ser exigido.
Problemas comuns
- Código sempre inválido: o relógio do servidor ou do celular está errado. Verifique com
timedatectle ative o NTP (sudo timedatectl set-ntp true). - SSH não pede o código: outro arquivo em
/etc/ssh/sshd_config.d/defineKbdInteractiveAuthentication noantes do seu. No sshd vale o primeiro valor lido; confira comsudo sshd -T | grep -i kbdinteractive. - SSH pede senha e código: a linha
@include common-authcontinua ativa em/etc/pam.d/sshd. - Cluster Proxmox parou de migrar VMs: os nós usam SSH entre si como root, com chave e sem interação. Libere a rede do cluster no fim do mesmo arquivo
20-2fa.confcom um blocoMatch Address 10.0.0.0/24seguido deAuthenticationMethods publickey. - Perdi o celular: use o código de emergência. Sem ele, entre pelo console IPMI/iLO (o login local não usa o PAM do SSH) e apague
~/.google_authenticatordo usuário, ou remova o TFA do usuário no Proxmox compveum user tfa delete usuario@pve.
Perguntas frequentes
2FA substitui uma senha forte?
Não. Os dois se somam. Continue usando senhas longas e únicas, geradas por um gerenciador de senhas.
Posso usar o mesmo aplicativo para todos os servidores?
Sim. Cada servidor ou serviço vira uma entrada separada no aplicativo. Faça backup criptografado do aplicativo ou cadastre dois dispositivos.
Scripts e backups automáticos vão parar com 2FA?
Contas de serviço não devem usar 2FA interativo. Use chaves SSH restritas ou tokens de API com permissões mínimas, e mantenha o 2FA nos logins humanos.
Qual é o 2FA mais seguro?
Chaves FIDO2/WebAuthn, porque só respondem ao site verdadeiro e por isso resistem a phishing.
Leitura complementar
- Módulo PAM google-authenticator (documentação)
- Proxmox VE: gerenciamento de usuários e TFA
- OWASP: Multifactor Authentication Cheat Sheet
Precisa de ajuda?
Se o 2FA bloqueou o seu acesso e o console IPMI/iLO também não está respondendo, abra um ticket ou chame o suporte 24/7 informando o servidor.
