Comment configurer l'authentification à deux facteurs pour SSH dans Linux

Comment configurer l'authentification à deux facteurs pour SSH dans Linux

Par défaut, Ssh utilise déjà une communication de données sécurisée entre les machines distantes, mais si vous souhaitez ajouter une couche de sécurité supplémentaire à vos connexions SSH, vous pouvez ajouter un Google Authenticator (Authentification à deux facteurs) module qui vous permet de saisir un mot de passe ponctuel aléatoire (Totp) code de vérification lors de la connexion à Ssh les serveurs. Vous devrez saisir le code de vérification à partir de votre téléphone intelligent ou PC Lorsque vous vous connectez.

Le Google Authenticator est un module open source qui inclut les implémentations de codes d'accès uniques (Totp) des jetons de vérification développés par Google.

Il prend en charge plusieurs plates-formes mobiles, ainsi que PAM (module d'authentification enfichable). Ces codes de passe uniques sont générés en utilisant des normes ouvertes créées par le SERMENT Initiative pour l'authentification ouverte).

Dans cet article, je vais vous montrer comment configurer et configurer Ssh Pour l'authentification à deux facteurs dans le cadre de distributions Linux basées à Redhat et de Debian telles que Fedora, Centos Stream, Rocky Linux et Almalinux, Ubuntu, Debian et Mint.

Installation de Google Authenticator dans Linux

Ouvrez la machine que vous souhaitez configurer l'authentification à deux facteurs et installer ce qui suit Pam les bibliothèques ainsi que les bibliothèques de développement qui sont nécessaires pour le Pam module pour fonctionner correctement avec le Google Authenticator module.

Sur les systèmes basés sur Redhat, installez le 'deveil Pam'Package en utilisant la commande yum suivante.

# yum install google-authenticator -y 

Sur les systèmes basés sur Debian, installez le 'libpam0g-dev'Package en utilisant la commande APT suivante.

$ sudo apt install libpam-google-authenticator -y 

Générer des jetons d'authentification Google

Une fois que vous avez exécuté le 'Google-authenticteur`` Commande, cela vous invitera avec une série de questions.

# Google-authentificateur 

Tapez simplement "y"(Oui) comme réponse dans la plupart des situations. Si quelque chose ne va pas, vous pouvez taper à nouveau le 'Google-authenticteur'Commande pour réinitialiser les paramètres.

  • Voulez-vous que les jetons d'authentification soient basés sur le temps (O / N) y

Après cette question, vous obtiendrez votre 'clef secrète' et 'codes d'urgence'. Notez ces détails quelque part, nous aurons besoin du 'clef secrète'Plus tard pour configurer le Google Authenticator appliquer.

# Google-Authenticator voulez-vous que les jetons d'authentification soient basés sur le temps (O / N) Y AVERTISSEMENT: coller l'URL suivant dans votre navigateur expose le secret OTP à Google: https: // www.Google.com / graphique?chs = 200x200 & chld = m | 0 & cht = qr & chl = otpauth: // totp / [e-mail protégée]% 3fSecret% 3dcyzf2yf7hfgx55zepqylhoo5jm% 26issUer% 3dtecmint a échoué à utiliser libqrencode pour montrer le code QR visual pour le scanning pour le scanning. Envisagez de taper manuellement le secret du OTP dans votre application. Votre nouvelle clé secrète est: Cyzf2yf7hfgx55zepqylhom Entrez le code à partir de l'application (-1 pour sauter): -1 La confirmation du code a ignoré vos codes de rayures d'urgence: 83714291 53083200 80975623 57217008 77496339

Ensuite, suivez l'assistant de configuration et dans la plupart des cas, tapez la réponse comme «y"(Oui) comme indiqué ci-dessous.

Voulez-vous que je mette à jour votre "/ root /.Fichier Google_Authenticator "(O / N) y Voulez-vous interdire plusieurs utilisations du même jeton d'authentification? Cela vous limite à une connexion environ les années 30, mais cela augmente vos chances de remarquer ou même d'empêcher les attaques de l'homme au milieu (O / N) y Par défaut, les jetons sont bons pendant 30 secondes et afin de compenser l'éventuel tire entre le client et le serveur, nous permettons un jeton supplémentaire avant et après l'heure actuelle. Si vous rencontrez des problèmes avec une mauvaise synchronisation du temps, vous pouvez augmenter la fenêtre de sa taille par défaut de 1: 30 minutes à environ 4 minutes. Voulez-vous le faire (O / N) y Si l'ordinateur dans lequel vous vous connectez n'est pas durci par rapport aux tentatives de connexion à force brute, vous pouvez activer la limitation de taux pour le module d'authentification. Par défaut, cela limite les attaquants à pas plus de 3 tentatives de connexion toutes les années 30. Voulez-vous activer la limitation de taux (O / N) y
Générer des jetons Google Auth

Configuration de SSH pour utiliser Google Authenticator dans Linux

Ouvrir le Pam fichier de configuration '/ etc / pam.d / sshd'et ajouter la ligne suivante au bas du fichier.

Auth exigé pam_google_authenticator.donc nullok auto a obligé Pam_Permit.donc 
Configurer PAM pour SSH

Ensuite, ouvrez le Ssh fichier de configuration '/ etc / ssh / sshd_config'Et faites défiler vers le bas pour trouver la ligne qui dit.

ChallengeResponSeutinghentification non 

Changez-le en «Oui". Donc, ça devient comme ça.

ChallengeResponSeutinghentification Oui 
Configurer SSH pour Google Auth

Enfin, redémarrez le Ssh Service pour prendre de nouveaux changements.

# SystemCTL redémarrer SSHD ou $ sudo systemctl redémarrer sshd 

Configuration de l'application Google Authenticator

Lancer le Google Authenticator Application sur votre smartphone. Presse + Et choisissez "Entrez une touche de configuration". Si vous n'avez pas cette application, vous pouvez télécharger et installer l'application Google Authenticator sur votre Android / iPhone / BlackBerry dispositifs.

Ajoutez votre compte 'Nom'et entrez le'clef secrète'généré plus tôt.

Clé secrète SSH

Il générera un mot de passe unique (le code de vérification) qui changera constamment chaque 30 secondes sur votre téléphone.

Code d'authentification SSH Google

Essayez maintenant de vous connecter via Ssh, vous serez invité avec un Code Google Authenticator (Le code de vérification) et Mot de passe chaque fois que vous essayez de vous connecter via Ssh. Tu as seulement 30 secondes Pour saisir ce code de vérification, si vous manquez, il régénérera un nouveau code de vérification.

Connectez-vous comme: accès Tecmint refusé en utilisant l'authentification du clavier-interactif. Le code de vérification: En utilisant l'authentification du clavier-interactif. Mot de passe: Dernière connexion: mar 23 avril 13:58:29 2022 De 172.16.25.125 [[e-mail protégé] ~] #

Si vous n'avez pas de smartphone, vous pouvez également utiliser un Incendier complémentaire appelé Authenticator pour faire l'authentification à deux facteurs.

Important: L'authentification à deux facteurs fonctionne avec la connexion SSH basée sur le mot de passe. Si vous utilisez une session SSH de clé privée / publique, il ignorera l'authentification à deux facteurs et vous enregistrera directement.