SSH + Autenticação de dois fatores + Google Authenticator + Ubuntu

Publicado por Thiago em 19/02/2014

[ Hits: 8.443 ]

 


SSH + Autenticação de dois fatores + Google Authenticator + Ubuntu



Nesta simples dica, mostrarei como integrar o sistema de autenticação do Google (Google Authenticator) com o SSH server, ativando assim, a autenticação de dois fatores (two factor authentication).

Requerimentos e instalação inicial

Antes de mais nada, estou usando, como distribuição GNU/Linux, o Ubuntu 13.10.

Os requerimentos para esse tutorial, são:

SSH server :: se você quer ter suporte ao Google Authenticator + chaves públicas, você vai precisar ter uma versão do SSH server, igual ou maior que 6.2 (não será abordado neste tutorial).

libpam-google-authenticator :: Instalado no servidor servidor SSH. Para instalar no Ubuntu:

# apt-get install libpam-google-authenticator

Um celular com o APP Google Authenticator instalado e configurado. Neste tutorial, eu usei um celular com Android, porém, existem versões para iOS e BlackBerry.

Acesse este link para instalar em um Android.

Configuração

Configurando o Google Authenticator - Acesse o servidor com o SSH server e com o usuário que você deseja configurar o Google Authenticator. Execute o google-authenticator.

Uma série de perguntas serão exibidas, insira y (sim) para elas. Será informado também um QR code, uma chave secreta, um código de verificação e alguns números de emergência.

Guarde-os com segurança, você vai precisar deles adiante:

google-authenticator
Do you want authentication tokens to be time-based (y/n) y

Your new secret key is: xxxxxxxxxxxxxxxxxxxxx
Your verification code is xxxxxxxxxxxx
Your emergency scratch codes are:
  xxxxxxxx
  xxxxxxxx
  xxxxxxxx
  xxxxxxxx

Adicionando a Secret Key no Google Authenticator do celular:
  • Acesse o APP do Google Authenticator no celular. No meu caso, um Android;
  • Clique nos três pontinhos no canto superior e selecione: Adicionar Conta
  • Selecione: Ler um código de barras
  • Aponte para o QR code gerado ao executar o google-authenticator anteriormente
  • Ou selecione: Digital chave fornecida e entre com a secret key e um nome para a conta.

Se tudo ocorrer corretamente, a chave foi instalada no Google Authenticator e deve aparecer no menu principal do aplicativo.

Ativando o Google Authenticator no SSH - Com o usuário root, acesse o /etc/pam.d/sshd e adicione a seguinte linha ao final do arquivo:

auth required pam_google_authenticator.so

Salve e feche. Agora, abra o /etc/ssh/sshd_config e procure pelo ChallengeResponseAuthentication e troque "no" por "yes":

ChallengeResponseAuthentication yes

Salve o arquivo e feche. Agora, você precisará reiniciar o SSH server.

Mas, cuidado!!! Qualquer problema ou erro, pode deixá-lo inacessível remotamente. Eu aconselho a deixar uma sessão ativa com o usuário root em outro terminal para evitar qualquer problema.

# service ssh restart
ssh stop/waiting
ssh start/running, process xxxxx

Pronto. Se tudo ocorrer corretamente, basta conectar-se ao servidor SSH e, conectar-se, será solicitado o código de verificação. Você deve pegar esse código no Google Authenticator, no aplicativo instalado em seu celular.

Será solicitado a senha do usuário e, na sequência, o código de verificação do Google Authenticator. Assim, como um token usado em bancos, este código expira, ele só dura alguns segundos.

ssh ubuntu@xxxxxx.xxxxxx.xxxxx.xxxxx
Password:
Verification code:
Welcome to Ubuntu
ubuntu@mx:~$

Você deve inserir o código gerado no aplicativo do seu celular no Verification code.

Enjoy.

Outras dicas deste autor

Desabilitando consulta de versão de servidor Bind

Erro ao instalar VirtualBox no BackTrack 5 - DKMS

Como instalar um joystick + mupen64 no Ubuntu/Xubuntu

Como atualizar o PHP no CentOS

Leitura recomendada

Instalando XMMS no Ubuntu 9.04

Sopcast no Ubuntu 10.04 em 2 minutos

Fazendo o touchpad do Dell 3550 (ALPS touchpad) funcionar

Atualizando o Fedora 24 para o 25

O que vem de novo no Ubuntu 8.04 Hardy Heron

  

Comentários
[1] Comentário enviado por cesar.info em 26/02/2014 - 01:21h

Curti!

Isso é novidade pra mim.

Abs.

[2] Comentário enviado por pedrostefano em 12/12/2015 - 18:07h

Tem como configurar a autenticação em dois passos no terminal?

[3] Comentário enviado por sebuba em 14/12/2015 - 11:59h

Olá pedrostefano,

Ainda não conheço a possibilidade. Porém vi algumas soluções para a interface gráfica = http://www.howtogeek.com/208205/how-to-use-two-factor-authentication-on-your-linux-desktop-with-goog...

[ ] 's

[4] Comentário enviado por jotagera em 31/03/2016 - 11:22h

Olá colega.

Tem como configurar o google authenticator para alguns usuários apenas?

Obrigado



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts