Como configurar a autenticação de dois fatores no Ubuntu para usuários do Ubuntu usando o autenticador do Google (também pode ser configurado para contas que não são do Google)?
Como configurar a autenticação de dois fatores no Ubuntu para usuários do Ubuntu usando o autenticador do Google (também pode ser configurado para contas que não são do Google)?
Nota: Depois de ativar a autenticação de dois fatores para um usuário e não definir o mesmo para root, você nunca poderá fazer login como root diretamente. Nesse caso, uma maneira de contornar é usar qualquer outro usuário sudo para o qual nós o configuramos e depois usá sudo su -
-lo para mudar para o usuário root.
Use as etapas abaixo para configurá-lo.
Instale o pacote fornecido abaixo para instalar o autenticador do Google, que usaremos como um complemento com autenticação PAM:
sudo apt-get install libpam-google-authenticator
Agora edite /etc/pam.d/sshd
esse arquivo e adicione o Google Authenticator conforme indicado abaixo:
*sudo vim /etc/pam.d/sshd
digite abaixo, no topo deste arquivo,
auth required pam_google_authenticator.so
Aqui, precisamos fazer alterações /etc/ssh/sshd_config
para garantir que o ssh use o Google Authenticator, dessa forma, garantimos que o ssh esteja usando a autenticação de dois fatores.
vim /etc/ssh/sshd_config
Neste arquivo, temos que encontrar ChallengeResponseAuthentication
e descomentar e / ou modificá-lo para parecer como abaixo (em resumo, defina-o como yes: P):
ChallengeResponseAuthentication yes
Autenticação extra ou GUI de 2 fatores, ignore isso e vá para a etapa 4: para habilitá-lo para login na GUI, edite /etc/pam.d/common-auth
:
sudo vim /etc/pam.d/common-auth
e agora adicione isso auth required pam_google_authenticator.so
acima da linha auth [success=1 default=ignore] pam_unix.so nullok_secure
e salve o arquivo.
Agora mude para uma conta na qual você deseja configurá-la.
( Observação: sugiro criar pelo menos duas contas de superusuário no sistema além da conta raiz e configurá-la pelo menos para uma delas primeiro, mas não a conta raiz.)
sudo su - testuser1
Agora usaremos o comando abaixo para configurar a autenticação de dois fatores para isso testuser1
:
google-authenticator
A execução deste comando fará a pergunta abaixo. (a resposta recomendada é Sim)
Deseja que os tokens de autenticação sejam baseados em tempo (s / n) y
Depois disso, ele mostrará o código QR e os códigos de risco de emergência e alguns outros detalhes. Coloque para fora deve parecer com a imagem abaixo:
Agora você precisa usar seu telefone Android / Apple / Blackberry para baixar e instalar o aplicativo Google Authenticator nos respectivos mercados, por exemplo, loja de jogos do Google. que irá gerar código para você fazer login.
Abaixo estão a captura de tela do ícone do aplicativo e o aplicativo retirado do aplicativo Android phone.
Inicie o aplicativo no seu telefone e digitalize o QR Code ou use a chave secreta e o código de verificação fornecidos abaixo do QR code no sistema, que você também pode ver na primeira captura de tela acima.
Uma vez feito tudo isso, é muito importante anotar e salvar seus códigos de rascunho de emergência em um local seguro, pois esses são os códigos que podem ajudá-lo caso você seja bloqueado de alguma forma.
Neste momento, você deve dar uma olhada na parte inferior da tela, onde está fazendo uma pergunta abaixo. (a resposta recomendada é Sim):
Deseja que eu atualize seu arquivo "/home/testuser1/.google_authenticator" (s / n) y
Novamente, ele fará mais uma pergunta e a resposta recomendada para a pergunta abaixo também é Sim:
Deseja proibir vários usos do mesmo token de autenticação? Isso restringe você a um login a cada 30 anos, mas aumenta suas chances de perceber ou até impedir ataques de intermediários (s / n) s
A próxima pergunta seria a seguinte, e a resposta recomendada é Não:
Por padrão, os tokens são válidos por 30 segundos e, para compensar possíveis desvios de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Se você tiver problemas com a sincronização de tempo ruim, poderá aumentar a janela do tamanho padrão de 1: 30min para cerca de 4min. Deseja fazer isso (s / n) n
E a última pergunta seria conforme abaixo e a resposta recomendada é Sim:
Se o computador em que você está efetuando login não estiver protegido contra tentativas de login de força bruta, você poderá ativar a limitação de taxa para o módulo de autenticação. Por padrão, isso limita os invasores a não mais que 3 tentativas de login a cada 30s. Deseja ativar o limite de taxa (s / n)?
Agora mude a saída desta conta para voltar à conta raiz:
exit
Agora reinicie o serviço ssh
service ssh restart
Agora, basta fazer uma sessão ssh para o usuário para o qual você configurou e ele primeiro solicitará um código de verificação que você pode digitar no seu celular e, em seguida, solicitará uma senha de usuário.
Isso é tudo o que é necessário para configurar a autenticação de dois fatores. Sinta-se à vontade para melhorar a resposta quando necessário e com licença pelo idioma não tão bom.
auth optional
vez deauth required
. Caso contrário, o login não será mais possível se a sessão travar e o processo não for concluído.