Como configurar a autenticação de dois fatores para SSH no Linux

Como configurar a autenticação de dois fatores para SSH no Linux

Por padrão, Ssh Já usa a comunicação segura de dados entre máquinas remotas, mas se você deseja adicionar alguma camada de segurança extra às suas conexões SSH, poderá adicionar um Google Authenticator (autenticação de dois fatores) módulo que permite inserir uma senha única aleatória (TOTP) código de verificação enquanto se conecta a Ssh servidores. Você terá que entrar no código de verificação do seu Smartphone ou PC Quando você se conecta.

O Google Authenticator é um módulo de código aberto que inclui implementações de códigos de senha (TOTP) Tokens de verificação desenvolvidos por Google.

Ele suporta várias plataformas móveis, bem como PAM (módulo de autenticação flasgável). Esses códigos de senha únicos são gerados usando padrões abertos criados pelo JURAMENTO Iniciativa para autenticação aberta).

Neste artigo, mostrarei como configurar e configurar Ssh Para autenticação de dois fatores, nas distribuições Linux, com sede em Redhat, com sede em Redhat, como Fedora, Centos Stream, Rocky Linux e Almalinux, Ubuntu, Debian e Mint.

Instalando o Google Authenticator no Linux

Abra a máquina que deseja configurar a autenticação de dois fatores e instalar o seguinte Pam bibliotecas juntamente com bibliotecas de desenvolvimento necessárias para o Pam módulo para trabalhar corretamente com o Google Authenticator módulo.

Em sistemas baseados em redhat, instalam o 'pam-devel'Pacote usando o seguinte comando yum.

# yum install google -autenticator -y 

Nos sistemas baseados em Debian, instalam o 'libpam0g-dev'Pacote usando o seguinte comando apt.

$ sudo apt install libpam-google-autenticator -y 

Gerar tokens de autenticação do Google

Depois de executar o 'Google-autenticadorComando, ele levará a você uma série de perguntas.

# Google-autenticador 

Simplesmente digite “y”(sim) como a resposta na maioria das situações. Se algo der errado, você pode digitar novamente o 'Google-autenticador'Comando para redefinir as configurações.

  • Deseja que os tokens de autenticação sejam baseados no tempo (S/N) y

Após esta pergunta, você receberá o seu 'chave secreta' e 'Códigos de emergência'. Anote esses detalhes em algum lugar, precisaremos do 'chave secreta'Mais tarde para configurar o Google Authenticator aplicativo.

# Google-Authenticator Você deseja que os tokens de autenticação sejam baseados no tempo (s/n) y Aviso: colar o seguinte URL em seu navegador expõe o segredo OTP para o Google: https: // www.Google.com/gráfico?chs = 200x200 e chld = m | 0 & cht = qr & chl = otpauth: // totp/[email protegido]%3fsecret%3dcyzf2yf7hfgx55zepqylhoo5jm%26issuer 3dTecmint falhou no uso de libras. Considere digitar o segredo da OTP em seu aplicativo manualmente. Sua nova chave secreta é: Cyzf2yf7hfgx55zepqylhom Digite o código do App (-1 para pular): -1 A confirmação do código pulada seus códigos de arranhões emergencial são: 83714291 53083200 80975623 57217008 77496339

Em seguida, siga o assistente de configuração e, na maioria dos casos, digite a resposta como “y”(sim) como mostrado abaixo.

Você quer que eu atualize seu "/root/.Google_authenticator "Arquivo (S/N) y Você quer não permitir que múltiplos usos do mesmo token de autenticação? Isso o restringe a um login a cada 30 anos, mas aumenta suas chances de notar ou até impedir ataques de homem no meio (s/n) y Por padrão, os tokens são bons por 30 segundos e, para compensar a possível adição de tempo entre o cliente e o servidor, permitimos um token extra antes e depois do horário atual. Se você tiver problemas com sincronização de tempo ruim, você poderá aumentar a janela do tamanho padrão de 1: 30min para cerca de 4min. Você quer fazer isso (S/N) y Se o computador em que você está fazendo login não for endurecido contra tentativas de login de força bruta, você pode ativar a limitação da taxa para o módulo de autenticação. Por padrão, isso limita os atacantes a não mais que 3 tentativas de login a cada 30 anos. Você deseja ativar a limitação da taxa (s/n) y
Gerar tokens de autenticação do google

Configurando o SSH para usar o Google Authenticator no Linux

Abra o Pam arquivo de configuração '/etc/pam.d/sshd'e adicione a seguinte linha à parte inferior do arquivo.

Auth Necessou Pam_Google_Authenticator.Então Nullok Auth exigiu Pam_permit.então 
Configure Pam para SSH

Em seguida, abra o Ssh arquivo de configuração '/etc/ssh/sshd_config'e role para baixo para encontrar a linha que diz.

ChallengerSesponseauthentication no 

Mude para “sim““. Então, torna -se assim.

ChallengerSesponseauthentication Sim 
Configure o SSH para o Google Auth

Finalmente, reinicie o Ssh Serviço para fazer novas mudanças.

# Systemctl Reiniciar SSHD ou $ sudo SystemCtl Reiniciar SSHD 

Configurando o aplicativo Google Authenticator

Inicie o Google Authenticator aplicativo em seu smartphone. Imprensa + e escolha “Insira uma chave de configuração““. Se você não tiver este aplicativo, pode baixar e instalar o aplicativo Google Authenticator em seu Android/iPhone/BlackBerry dispositivos.

Adicione sua conta 'Nome'e entrar no'chave secreta'gerado anteriormente.

Chave secreta ssh

Ele gerará uma senha única (Código de verificação) que vai mudar constantemente a cada 30 segundos no seu celular.

Código de autenticação do Google SSH

Agora tente fazer login via Ssh, você será solicitado com um Código do Google Authenticator (Código de verificação) e Senha Sempre que você tenta fazer login via Ssh. Você tem apenas 30 segundos Para entrar neste código de verificação, se você perder, regenerará um novo código de verificação.

Faça login como: Acesso Tecmint negado usando autenticação interativa do teclado. Código de verificação: Usando autenticação de teclado interativo. Senha: Last Login: Ter 23 de abril 13:58:29 2022 De 172.16.25.125 [[email protegido] ~]#

Se você não tem um smartphone, também pode usar um Raposa de fogo add-on chamado autenticator para fazer autenticação de dois fatores.

Importante: A autenticação de dois fatores funciona com o login SSH baseado em senha. Se você estiver usando qualquer sessão SSH privada/pública, ela ignorará a autenticação de dois fatores e registrará você diretamente.