ssh avec phrase de passe, retour à Google Authenticator

8

Avec l'introduction de Google Authenticator et la possibilité de l' utiliser avec ssh, je me demandais si quelqu'un était passé par une configuration sshd_config qui

  • attendre d'abord une clé
  • en cas d'échec, revenez à une authentification avec Google Authenticator

L'idée étant de se connecter généralement de manière transparente avec une clé et, généralement dans des environnements moins conviviaux, de se connecter avec un mécanisme à deux facteurs.

WoJ
la source

Réponses:

16

Oui, j'ai une configuration où je peux me connecter sshà mon serveur à l'aide de l'authentification par clé publique, avec une alternative à l'authentification à deux facteurs avec Google Authenticator + mot de passe lorsque ma clé privée n'est pas disponible. Ce sont les étapes que vous pouvez utiliser pour le configurer.

Installation de Google Authenticator

Mon serveur exécute Ubuntu Bionic Beaver (18.04.1). Vous pouvez installer Google Authenticator en utilisant apt:

$ sudo apt install libpam-google-authenticator

Configuration de sshd

Ouvrez /etc/pam.d/sshdet ajoutez la ligne suivante en haut:

auth optional pam_google_authenticator.so

Ouvrez /etc/ssh/sshd_configet changez une ligne. La ligne existante est

ChallengeResponseAuthentication no

et vous devriez le changer en

ChallengeResponseAuthentication yes

Configuration de Google Authenticator pour votre compte

L'étape suivante consiste à activer Google Authenticator pour votre compte. Pour ce faire, exécutez simplement:

$ google-authenticator

Assurez-vous de l'exécuter en tant qu'utilisateur qui établira les connexions ssh, pas root. Prenez note de votre nouvelle clé secrète et de vos codes à gratter d'urgence. L'assistant vous posera plusieurs questions pour configurer les paramètres de sécurité de votre compte.

Configuration de votre application mobile

J'utilise l'application Google Authenticator pour iPhone. Cette application dispose d'un bouton [+] qui me permet d'ajouter un nouveau jeton basé sur l'heure en utilisant la clé secrète que j'ai obtenue à partir de la google-authenticatorcommande sur mon serveur. C'était banal à mettre en place. Je ne peux pas vous aider avec des applications sur une autre plate-forme, mais j'imagine que le processus est tout aussi simple.

Tirer le déclencheur

La dernière chose que vous devez faire est de redémarrer sshd.

$ sudo /etc/init.d/ssh restart

À ce stade, lorsque vous essayez de vous connecter au serveur lorsque votre clé privée est disponible, l'authentification fonctionne simplement. Lorsque votre clé privée n'est pas disponible, vous obtiendrez une invite pour un code de vérification, puis le mot de passe de votre compte.

Bingo, authentification à deux facteurs.

William Jackson
la source
Merci beaucoup - c'est très complet et c'est exactement ce que je cherchais.
WoJ
Ça a l'air super, exactement ce dont j'ai besoin. Je suivrai vos instructions et vous ferai part de vos commentaires par la suite.
peipst9lker