Como configurar dois fatores autenticação para SSH no Fedora

Como configurar dois fatores autenticação para SSH no Fedora

Todos os dias parece haver muitas violações de segurança relatadas onde nossos dados estão em perigo. Apesar do fato de o SSH ser uma maneira segura de estabelecer uma conexão remotamente a um sistema Linux, mas ainda assim, um usuário desconhecido pode obter acesso à sua máquina Linux se eles roubarem suas chaves SSH, mesmo se você desativar senhas ou permitir apenas conexões SSH sobre chaves públicas e privadas.

Neste artigo, explicaremos como configurar a autenticação de dois fatores (2FA) para ssh em Fedora Distribuição do Linux usando Google Authenticator para acessar um sistema Linux remoto de uma maneira mais segura, fornecendo um TOTP (A senha única baseada no tempo) Número gerado aleatoriamente por um aplicativo autenticador em um dispositivo móvel.

Leia também: Como configurar a autenticação de dois fatores para os logins SSH em Centos e Debian

Observe que você pode usar qualquer aplicativo de autenticação bidirecional para o seu dispositivo móvel que seja compatível com o TOTP algoritmo. Existem inúmeros aplicativos gratuitos disponíveis para Android ou iOS que suportam TOTP e Google Authenticator, Mas este artigo usa Google Authenticator como um exemplo.

Instalando o Google Authenticator no Fedora

Primeiro, instale o Google Authenticator Aplicativo no seu servidor Fedora usando o seguinte comando dnf.

$ sudo dnf install -y google -autenticator 
Instale o Google Authenticator no Fedora

Uma vez Google Authenticator Instalado, agora você pode executar o aplicativo.

$ google-autenticador 

O aplicativo solicita com várias perguntas. Os trechos a seguir mostram como responder para uma configuração razoavelmente segura.

Deseja que os tokens de autenticação sejam baseados no tempo (S/N) y Você quer que eu atualize seu "/home/usuário/.Google_authenticator "Arquivo (S/N)? y
Gerar tokens de autenticação

O aplicativo fornece uma chave secreta, código de verificação e códigos de recuperação. Mantenha essas chaves em um local seguro, pois essas chaves são a única maneira de acessar seu servidor se você perder seu dispositivo móvel.

Configurando a autenticação do telefone celular

No seu celular, vá para a App Store Google Play ou iTunes e procurar Google Authenticator e instalar o aplicativo.

Agora aberto Google Authenticator Aplicativo no seu telefone celular e digitalize o código QR exibido na tela do terminal do Fedora. Depois que a verificação de código QR estiver concluída, você receberá um número gerado aleatoriamente pelo aplicativo Authenticator e usará esse número sempre que se conectar ao seu servidor Fedora remotamente.

Digitalizar código QR usando autenticador

Concluir a configuração do Google Authenticator

O Google Authenticator O aplicativo solicita mais perguntas e o exemplo a seguir mostra como respondê -las para configurar a configuração segura.

Termine o Google Authenticator-setup

Agora você precisa configurar o SSH para usar a nova autenticação bidirecional, conforme explicado abaixo.

Configure o SSH para usar o Google Authenticator

Para configurar o SSH para usar autenticador Aplicação, primeiro você precisa ter uma conexão SSH em funcionamento usando chaves ssh públicas, pois desativaremos conexões de senha.

Abrir /etc/pam.d/sshd arquivo em seu servidor.

$ sudo vi /etc /pam.d/sshd 

Comente o Auth Substack Senha-Auth linha no arquivo.

#auth subestack-senha-senha 

Em seguida, coloque a seguinte linha até o final do arquivo.

AUTH PAM_GOOGLE DE AUTH.então 

Salve e feche o arquivo.

Em seguida, abra e edite o /etc/ssh/sshd_config arquivo.

$ sudo vi/etc/ssh/sshd_config 

Procure o ChallengerSesponseAuthentication linha e altere para sim.

ChallengerSesponseauthentication Sim 

Procure o PasswordAuthentication linha e altere para não.

PasswordAuthentication no 

Em seguida, coloque a seguinte linha até o final do arquivo.

AuthenticationMethods PublicKey, Senha PublicKey, teclado-interativo 

Salve e feche o arquivo e depois reinicie o SSH.

$ sudo systemctl reiniciar sshd 

Testando a autenticação de dois fatores no Fedora

Agora tente se conectar ao seu servidor remotamente, ele solicitará que você insira um código de verificação.

$ ssh [email protegido] Código de verificação: 

O código de verificação é gerado aleatoriamente no seu telefone celular pelo seu aplicativo autenticador. Como o código gerado muda a cada poucos segundos, você precisa entrar rapidamente antes de criar um novo.

Código de verificação do autenticador

Se você inserir o código de verificação errado, não poderá se conectar ao sistema e receberá uma permissão seguinte negado erro.

$ ssh [email protegido] Código de verificação: Código de verificação: Código de verificação: permissão negada (teclado interativo). 
Conclusão

Ao implementar essa autenticação bidirecional fácil, você adicionou uma camada extra de segurança ao seu sistema e isso torna mais difícil para um usuário desconhecido obter acesso ao seu servidor.