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.
Antes de começar: mantenha uma sessão administrativa aberta enquanto testa o 2FA em outra janela. Se algo der errado, você corrige pela sessão aberta ou pelo console IPMI/iLO, onde o login local não passa pelo SSH.

Autenticação em dois fatores: qual segundo fator escolher

TipoResiste a phishing?Observação
Chave FIDO2 / WebAuthnSimMelhor opção para administradores. Funciona no Proxmox, no Bitwarden e em vários painéis.
TOTP (código de 6 dígitos)ParcialmenteBom e gratuito. Um site falso pode pedir o código e usá-lo em tempo real.
Notificação pushParcialmentePrefira a versão com número de confirmação, para evitar aprovar por cansaço.
SMSNãoUse 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.

  1. Instale o módulo PAM:
    sudo apt update
    sudo apt install libpam-google-authenticator
  2. Gere o segredo com o seu usuário (não com root, a menos que você entre como root):
    google-authenticator -t -d -f -r 3 -R 30 -w 3
    Escaneie o QR code no aplicativo e guarde os códigos de emergência no gerenciador de senhas. O segredo fica em ~/.google_authenticator.
  3. 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:
    auth required pam_google_authenticator.so nullok
    O nullok deixa entrar usuários que ainda não configuraram o TOTP. Retire-o quando todos tiverem configurado.
  4. Configure o sshd em um arquivo próprio, /etc/ssh/sshd_config.d/20-2fa.conf:
    UsePAM yes
    KbdInteractiveAuthentication yes
    AuthenticationMethods publickey,keyboard-interactive
  5. Valide e recarregue:
    sudo sshd -t && sudo systemctl reload ssh
    Em outra janela, teste o login. Deve aceitar a chave e pedir Verification code.

Passo a passo: 2FA no Proxmox VE

  1. No canto superior direito, abra o menu do seu usuário e vá em TFA (ou Datacenter → Permissions → Two Factor).
  2. 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.
  3. Adicione também Recovery Keys e guarde fora do servidor.
  4. Repita para root@pam e 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:

  1. 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.
  2. 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.
  3. 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.10 mostra Authenticated using "publickey" with partial success e 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 timedatectl e ative o NTP (sudo timedatectl set-ntp true).
  • SSH não pede o código: outro arquivo em /etc/ssh/sshd_config.d/ define KbdInteractiveAuthentication no antes do seu. No sshd vale o primeiro valor lido; confira com sudo sshd -T | grep -i kbdinteractive.
  • SSH pede senha e código: a linha @include common-auth continua 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.conf com um bloco Match Address 10.0.0.0/24 seguido de AuthenticationMethods 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_authenticator do usuário, ou remova o TFA do usuário no Proxmox com pveum 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

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.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também