Deseja proteger seu servidor SSH com autenticação de dois fatores fácil de usar? O Google fornece o software necessário para integrar o sistema de senha única com base em tempo (TOTP) do Google Authenticator com seu servidor SSH. Você terá que inserir o código de seu telefone ao se conectar.
O Google Authenticator não "liga para casa" com o Google - todo o trabalho acontece no seu servidor SSH e no seu telefone. Na verdade, o Google Authenticator é totalmente de código aberto , para que você mesmo possa examinar seu código-fonte.
Instale o Google Authenticator
Para implementar a autenticação multifator com o Google Authenticator, precisaremos do módulo PAM do Google Authenticator de código aberto. PAM significa "módulo de autenticação conectável" - é uma maneira de conectar facilmente diferentes formas de autenticação em um sistema Linux.
Os repositórios de software do Ubuntu contêm um pacote fácil de instalar para o módulo PAM do Google Authenticator. Se sua distribuição Linux não contém um pacote para isso, você terá que baixá-lo do Página de downloads do Google Authenticator no Google Code e compile você mesmo.
Para instalar o pacote no Ubuntu, execute o seguinte comando:
sudo apt-get install libpam-google-authenticator
(Isso instalará apenas o módulo PAM em nosso sistema - teremos que ativá-lo para logins SSH manualmente.)
Crie uma chave de autenticação
Faça login como o usuário com o qual você fará login remotamente e execute o google-autenticador comando para criar uma chave secreta para esse usuário.
Permita que o comando atualize seu arquivo Google Authenticator digitando y. Em seguida, você receberá várias perguntas que permitirão que você restrinja o uso do mesmo token de segurança temporário, aumente a janela de tempo em que os tokens podem ser usados e limite as tentativas de acesso permitidas para impedir tentativas de cracking de força bruta. Todas essas opções trocam alguma segurança por alguma facilidade de uso.
O Google Authenticator apresentará uma chave secreta e vários “códigos de rascunho de emergência”. Anote os códigos de emergência em algum lugar seguro - eles só podem ser usados uma vez cada e devem ser usados caso você perca seu telefone.
Insira a chave secreta no aplicativo Google Authenticator em seu telefone (aplicativos oficiais estão disponíveis para Android, iOS e Blackberry ) Você também pode usar o recurso de leitura de código de barras - vá para o URL localizado próximo ao topo da saída do comando e você pode escanear um código QR com a câmera do seu telefone.
Agora você terá um código de verificação em constante mudança em seu telefone.
Se você deseja fazer login remotamente como vários usuários, execute este comando para cada usuário. Cada usuário terá sua própria chave secreta e seus próprios códigos.
Ative o Google Authenticator
Em seguida, você precisará exigir o Google Authenticator para logins SSH. Para fazer isso, abra o /etc/pam.d/sshd arquivo em seu sistema (por exemplo, com o Sudonano / Etc / Pam. d / shd comando) e adicione a seguinte linha ao arquivo:
auth required pam_google_authenticator.so
Em seguida, abra o / etc / ssh / sshd_config arquivo, localize o ChallengeResponseAuthentication linha e altere-a para ler da seguinte forma:
ChallengeResponseAuthentication sim
(Se o ChallengeResponseAuthentication linha ainda não existe, adicione a linha acima ao arquivo.)
Por fim, reinicie o servidor SSH para que suas alterações tenham efeito:
sudo service ssh restart
Você será solicitado a inserir sua senha e o código do Google Authenticator sempre que tentar fazer login via SSH.