Skip to main content

VPS: Autenticação de dois fatores SSH

Este guia foi criado com os seguintes produtos:

(Os detalhes podem variar com produtos de diferentes fornecedores, mas os conceitos principais permanecem os mesmos)

Introdução

O serviço de autenticação de dois fatores (2FA) do Google para SSH, conhecido como Google Authenticator SSH, aumenta a segurança do acesso SSH (Secure Shell) adicionando uma segunda camada de autenticação. Embora o SSH já forneça um método seguro para estabelecer uma conexão criptografada com um servidor remoto, a integração do 2FA eleva o nível de segurança ao exigir que os usuários insiram não só a senha, mas também um código de verificação único gerado pelo Google Authenticator. Neste guia, vamos explorar o processo de instalação e configuração do serviço Google Authenticator SSH em um servidor Linux.

Instalação

Primeiro, você precisa instalar o Google Authenticator no seu VPS Linux. Execute o seguinte comando:

sudo apt install libpam-google-authenticator

Você será solicitado a digitar "Y" para instalar o pacote, digite isso, pressione Enter e o Google Authenticator será instalado!

Inicie o Google Authenticator digitando 'google-authenticator'. Certifique-se de que o tamanho da janela seja suficiente para o QR Code, caso contrário, pressione "CTRL+C" e execute novamente.

Agora você será perguntado se deseja executar, digite "Y" para aceitar. Você verá um QR Code. Abra seu app Authenticator no smartphone e escaneie o QR Code. Para este exemplo, usamos o Google Authenticator:

Não esqueça de copiar os códigos de backup, eles podem ser usados uma vez cada caso você perca o autenticador.

Agora o app já mostra os códigos que você vai precisar para fazer login depois. No caso, fica assim:

As seguintes perguntas aparecerão:

  1. Deseja salvar a configuração do Google Authenticator?
  2. Deseja permitir apenas um login a cada 30 segundos?
  3. O tempo em que um código é válido deve ser aumentado?
  4. Devem ser permitidos apenas três logins a cada 30 segundos? (Proteção contra Brute Force)

Por questões de segurança, recomendamos confirmar todas com Sim.

Configuração

Agora precisamos ajustar o Google Authenticator para que ele seja usado. Isso requer duas alterações.

/etc/ssh/sshd_config

Ative os módulos necessários no arquivo /etc/ssh/sshd_config. Abra o arquivo digitando:

sudo nano /etc/ssh/sshd_config

Você estará em um editor de texto. Use as setas para navegar, apague e digite livremente. Para salvar, pressione 'CTRL + X', depois 'Y' e por fim 'Enter'.

Garanta que as linhas 'UsePAM' e 'ChallengeResponseAuthentication' estejam definidas como 'yes'. Assim:

Salve o arquivo com 'CTRL + X', depois 'Y' e 'Enter'. Reinicie o SSH com o comando:

sudo systemctl restart ssh

/etc/pam.d/sshd

Agora adicionamos o Google Authenticator ao login no arquivo /etc/pam.d/sshd. Abra o arquivo digitando:

sudo nano /etc/pam.d/sshd

Role até o final do arquivo e insira a linha:

auth required pam_google_authenticator.so

Salve o arquivo com 'CTRL + X', depois 'Y' e 'Enter'.

Testando o acesso

Agora é hora de fazer o primeiro login com 2FA. Depois de seguir os passos acima, basta reiniciar sua conexão SSH.

Digite sua senha normalmente. Você será solicitado a inserir um código, basta digitar o código 2FA atual.

Pronto, você está logado!

Conclusão

Parabéns, você ativou e configurou o 2FA para SSH com sucesso! Se tiver mais dúvidas ou problemas, fale com nosso time de suporte, que está disponível para te ajudar todos os dias!