O Google Authenticator não "telefona para casa" para o Google - todo o trabalho acontece no seu servidor SSH e no seu telefone. Na verdade, o Google Authenticator é totalmente de código aberto, e você pode até mesmo examinar seu código-fonte.
Instalar 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 plugá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 do Linux não contiver um pacote para isso, você precisará fazer o download da página de downloads do Google Authenticator no Google Code e compilá-la você mesmo.
Para instalar o pacote no Ubuntu, execute o seguinte comando:
sudo apt-get install libpam-google-authenticator
(Isso só instalará 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 autenticador do google comando para criar uma chave secreta para esse usuário.
Permitir que o comando atualize seu arquivo do Google Authenticator digitando y. Em seguida, você receberá várias perguntas que permitirão que você restrinja os usos 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 violação de força bruta. Todas essas escolhas trocam alguma segurança por alguma facilidade de uso.
Ativar o Google Authenticator
Em seguida, você precisará solicitar o Google Authenticator para logins SSH. Para fazer isso, abra o /etc/pam.d/sshd arquivo no seu sistema (por exemplo, com o sudo nano /etc/pam.d/sshd 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-o para ler da seguinte forma:
ChallengeResponseAuthentication yes
(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 entrem em vigor:
sudo service ssh restart