Skip to main content

SSH com Google Authentication

· 2 min read


Introdução


Vamos ver como deixar o SSH mais seguro com o uso de um OTP (One True Pairing), nesse caso vamos usar o Google Authenticator, dessa forma, só será possível acessar o servidor caso tenha a senha baseada em tempo.


Primeiro vamos começar instalando a biblioteca que fará com que tudo seja possível.

# Instale a biblioteca:
$ sudo apt install -y libpam-google-authenticator

Agora adicione o módulo do Google em /etc/pam.d/sshd.

# Edite o arquivo:
vim /etc/pam.d/sshd

# Comente a linha abaixo (está normalmente no começo do arquivo):
@include common-auth

# Insira a linha abaixo no final do arquivo, ela informa
# para que queremos usar o módulo do Google authenticator durante a
# autenticação via ssh:
auth required pam_google_authenticator.so

Agora temos que fazer algumas configurações no SSHD:

# Abra o arquivo abaixo:
sudo vim /etc/ssh/sshd_config

# Não permita login no SSH usando senha:
PasswordAuthentication no

# Permita senhas de desafio-resposta durante a autenticação (Envio do TOTP):
ChallengeResponseAuthentication yes

# Habilite o uso do PAM (provavelmente já estará habilitado):
UsePAM yes

# Habilite os métodos de autenticação por chave:
AuthenticationMethods publickey,keyboard-interactive

Agora vamos gerar o nosso RQCode para conseguirmos ter o OTP, você deve fazer isso com o usuário que queira ativar o uso do Authenticator.


Para criar um novo token digite google-authenticator (com o usuário que deseja ativar o Authenticator), algumas perguntas serão feitas, responda da seguinte forma:

  • Faça tokens "baseados no tempo": sim
  • Atualize o arquivo .google_authenticator: sim
  • Não permitir usos múltiplos: sim
  • Aumente o limite de tempo de geração original: não
  • Habilitar limitação de taxa: sim

Pronto, já pode fazer autenticação usando o Google, recomendo que abra um novo terminal e teste, caso de algum erro, poderá ficar preso para fora do servidor. Com isso É criado um arquivo chamado .google_authenticator na home do usuário que estiver usando ele, caso queira parar de usar ou mudar o código OTP pode apagar esse arquivo e criar novamente.