VPS : Authentification SSH à deux facteurs
Ce guide a été créé avec les produits suivants :
(Les détails peuvent varier selon les produits de différents fournisseurs, mais les concepts principaux restent les mêmes)
Introduction
Le service d’authentification SSH à deux facteurs (2FA) de Google, appelé Google Authenticator SSH, améliore la sécurité de l’accès SSH (Secure Shell) en ajoutant une seconde couche d’authentification. Alors que SSH offre déjà une méthode sécurisée pour établir une connexion chiffrée à un serveur distant, l’intégration de la 2FA augmente le niveau de sécurité en demandant aux utilisateurs non seulement leur mot de passe, mais aussi un code de vérification à usage unique généré par Google Authenticator. Dans ce guide, on va voir comment installer et configurer le service Google Authenticator SSH sur un serveur Linux.
Installation
Commence par installer Google Authenticator sur ton VPS Linux. Exécute la commande suivante :
sudo apt install libpam-google-authenticator
Tu seras alors invité à taper "Y" pour installer le paquet, tape-le, appuie sur Entrée et Google Authenticator sera installé !
Lance Google Authenticator en tapant google-authenticator
. Assure-toi que la taille de ta fenêtre est suffisante pour afficher le QR Code, sinon presse "CTRL+C" et relance la commande.
Tu seras à nouveau invité à confirmer l’exécution, tape "Y" pour accepter. Un QR Code va s’afficher. Ouvre ton appli Authenticator sur ton smartphone et scanne ce QR Code. Pour cet exemple, on utilise Google Authenticator :
Pense bien à copier les codes de secours, ils peuvent être utilisés une seule fois chacun si tu perds ton authentificateur.
L’appli te montre déjà les codes dont tu auras besoin pour te connecter plus tard. Ça ressemble à ça :
Les questions suivantes vont maintenant s’afficher :
- Veux-tu sauvegarder la configuration Google Authenticator ?
- Veux-tu autoriser une seule connexion toutes les 30 secondes ?
- Faut-il augmenter la durée de validité d’un code ?
- Faut-il limiter à trois connexions toutes les 30 secondes ? (Protection contre le Brute Force)
Pour la sécurité, on recommande de répondre Oui à toutes.
Configuration
Maintenant, il faut ajuster Google Authenticator pour qu’il soit bien pris en compte. Ça demande deux modifications.
/etc/ssh/sshd_config
Active les modules nécessaires dans /etc/ssh/sshd_config
. Ouvre le fichier avec la commande :
sudo nano /etc/ssh/sshd_config
Tu es maintenant dans un éditeur de texte. Utilise les flèches pour te déplacer, supprime ou ajoute du texte librement, puis appuie sur CTRL + X
, ensuite Y
et enfin Entrée
pour sauvegarder.
Vérifie que les lignes UsePAM
et ChallengeResponseAuthentication
sont bien réglées sur yes
. Comme ça :
Sauvegarde avec CTRL + X
, puis Y
et Entrée
. Redémarre SSH avec la commande suivante :
sudo systemctl restart ssh
/etc/pam.d/sshd
On ajoute maintenant Google Authenticator à la connexion dans /etc/pam.d/sshd
. Ouvre le fichier avec :
sudo nano /etc/pam.d/sshd
Descends jusqu’à la fin du fichier et ajoute la ligne suivante :
auth required pam_google_authenticator.so
Sauvegarde avec CTRL + X
, puis Y
et Entrée
.
Test de l’accès
C’est le moment de te connecter pour la première fois avec la 2FA. Après avoir suivi les étapes ci-dessus, il te suffit de redémarrer ta connexion SSH.
Tu entres ton mot de passe normalement. On te demandera ensuite un code, entre simplement le code 2FA actuel.
Et voilà, tu es connecté !
Conclusion
Félicitations, tu as activé et configuré avec succès la 2FA pour SSH ! Si tu as d’autres questions ou soucis, contacte notre équipe support, dispo tous les jours pour t’aider !