ssh com passphrase, fallback para o Google Authenticator

8

Com a introdução do Google Authenticator e a capacidade de use com o ssh Eu queria saber se alguém passou por uma configuração sshd_config

  • primeiro espere uma chave
  • se isso falhar, volte para uma autenticação com o Google Authenticator

A idéia é normalmente conectar-se perfeitamente a uma chave e, geralmente em ambientes menos amigáveis, conectar-se a um mecanismo de dois fatores.

    
por WoJ 04.11.2011 / 22:01

1 resposta

16

Sim, eu tenho uma configuração em que posso ssh para o meu servidor usando autenticação de chave pública, com um fallback para autenticação de dois fatores com o Google Authenticator + senha quando minha chave privada não está disponível. Estas são as etapas que você pode usar para configurá-lo.

Como instalar o Google Authenticator

Meu servidor está executando o Ubuntu Bionic Beaver (18.04.1). Você pode instalar o Google Authenticator usando apt :

$ sudo apt install libpam-google-authenticator

Configurando o sshd

Abra /etc/pam.d/sshd e adicione a seguinte linha no topo:

auth optional pam_google_authenticator.so

Abra /etc/ssh/sshd_config e mude uma linha. A linha existente é

ChallengeResponseAuthentication no

e você deve alterá-lo para

ChallengeResponseAuthentication yes

Configurando o Google Authenticator para sua conta

O próximo passo é ativar o Google Authenticator para sua conta. Você faz isso simplesmente executando:

$ google-authenticator

Certifique-se de executar isto como o usuário que fará conexões ssh, não root. Anote sua nova chave secreta e seus códigos de emergência. O assistente fará várias perguntas para definir as configurações de segurança da sua conta.

Configurando seu aplicativo para dispositivos móveis

Eu uso o aplicativo Google Authenticator para iPhone. Este aplicativo tem um botão [+] que me permite adicionar um novo token baseado em tempo usando a chave secreta que obtive do comando google-authenticator em meu servidor. Foi trivial para configurar. Não posso ajudá-lo com aplicativos em qualquer outra plataforma, mas imagino que o processo seja igualmente simples.

Puxando o gatilho

A última coisa que você precisa fazer é reiniciar sshd .

$ sudo /etc/init.d/ssh restart

Neste ponto, quando você tenta se conectar ao servidor quando sua chave privada está disponível, a autenticação simplesmente funciona. Quando sua chave privada não estiver disponível, você receberá uma solicitação de um código de verificação e, em seguida, a senha da sua conta.

Bingo, autenticação de dois fatores.

    
por 05.11.2011 / 02:07