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/sshd
et ajoutez la ligne suivante en haut:
auth optional pam_google_authenticator.so
Ouvrez /etc/ssh/sshd_config
et 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-authenticator
commande 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.