comment configurer l'authentification à deux facteurs dans Ubuntu pour les utilisateurs d'Ubuntu à l'aide de l'authentificateur Google?

11

Comment configurer l'authentification à deux facteurs dans Ubuntu pour les utilisateurs d'Ubuntu à l'aide de l'authentificateur Google (il peut également être configuré pour les comptes non Google)?

Hrish
la source

Réponses:

16

Remarque: Une fois que vous avez activé l'authentification à 2 facteurs pour un utilisateur et que vous n'avez pas défini la même chose pour root, vous ne pourrez jamais vous connecter directement en tant que root. Dans un tel cas, une solution consiste à utiliser n'importe quel autre utilisateur sudo pour lequel nous l'avons configuré, puis à utiliser sudo su -pour basculer vers l'utilisateur root.


Utilisez les étapes ci-dessous pour le configurer.

  1. Installez le package ci-dessous pour installer l'authentificateur Google que nous utiliserons comme module complémentaire avec l'authentification PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. Modifiez maintenant /etc/pam.d/sshdce fichier et ajoutez Google Authenticator comme indiqué ci-dessous:

    *sudo vim /etc/pam.d/sshd
    

    entrez ci-dessous en haut de ce fichier-

    auth required pam_google_authenticator.so
    
  3. Ici, nous devons apporter des modifications /etc/ssh/sshd_configpour que ssh utilise Google Authenticator, de cette façon, nous nous assurons que ssh utilise l'authentification à deux facteurs.

    vim /etc/ssh/sshd_config
    

    Dans ce fichier, nous devons trouver ChallengeResponseAuthenticationet décommenter et / ou le modifier pour ressembler à ci-dessous (en bref, définissez-le sur oui: P):

    ChallengeResponseAuthentication yes
    

    Authentification supplémentaire ou GUI à 2 facteurs sinon ignorez cela et passez à l'étape 4: Pour l'activer pour la connexion à l'interface graphique, modifiez /etc/pam.d/common-auth:

    sudo vim /etc/pam.d/common-auth
    

    et maintenant ajoutez ceci auth required pam_google_authenticator.soau - dessus de la ligne auth [success=1 default=ignore] pam_unix.so nullok_securepuis enregistrez le fichier.

  4. Passez maintenant à un compte sur lequel vous souhaitez le configurer.
    ( Remarque: je suggérerais de créer au moins deux comptes de superutilisateur sur le système en dehors du compte root et de le configurer au moins, pour l'un d'entre eux d'abord mais pas le compte root.)

    sudo su - testuser1
    
  5. Nous allons maintenant utiliser la commande ci-dessous pour configurer l'authentification à deux facteurs pour cela testuser1:

    google-authenticator
    
  6. L'exécution de cette commande vous posera la question ci-dessous. (la réponse recommandée est Oui)

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

  7. Après cela, il vous montrera le code QR et les codes à gratter d'urgence et quelques autres détails. Les résultats devraient ressembler à l'image ci-dessous:

    entrez la description de l'image ici

  8. Vous devez maintenant utiliser votre téléphone Android / Apple / Blackberry pour télécharger et installer l' application Google Authenticator à partir des marchés respectifs, par exemple Google Play Store. qui va générer du code pour vous connecter.

    Ci-dessous, la capture d'écran de l'icône de l'application et de l'application tirée du téléphone Android de l'application.

    entrez la description de l'image ici entrez la description de l'image ici

  9. Démarrez l'application sur votre téléphone et scannez le QR Code ou utilisez la clé secrète et le code de vérification donnés sous le QR code sur le système, que vous pouvez également voir dans la première capture d'écran ci-dessus.

  10. Une fois que tout cela est fait, il est très important de noter et de sauvegarder vos codes à gratter d'urgence dans un endroit sûr, car ce sont les codes qui peuvent vous aider au cas où vous seriez verrouillé d'une manière ou d'une autre.

  11. À ce stade, vous devriez jeter un œil au bas de l'écran où il vous pose une question ci-dessous. (la réponse recommandée est Oui):

    Voulez-vous que je mette à jour votre fichier "/home/testuser1/.google_authenticator" (o / n) y

  12. Encore une fois, il vous posera une autre question et la réponse recommandée pour la question ci-dessous est également Oui:

    Voulez-vous interdire plusieurs utilisations du même jeton d'authentification? Cela vous limite à une seule connexion toutes les 30 secondes, mais augmente vos chances de remarquer ou même d'empêcher les attaques de l'homme du milieu (o / n) y

  13. La question suivante serait la suivante et la réponse recommandée est non:

    Par défaut, les jetons sont valables pendant 30 secondes et afin de compenser le décalage temporel possible entre le client et le serveur, nous autorisons un jeton supplémentaire avant et après l'heure actuelle. Si vous rencontrez des problèmes avec une mauvaise synchronisation horaire, vous pouvez augmenter la fenêtre de sa taille par défaut de 1: 30min à environ 4min. Voulez-vous le faire (o / n) n

  14. Et la dernière question serait comme ci-dessous et la réponse recommandée pour elle est Oui:

    Si l'ordinateur auquel vous vous connectez n'est pas protégé contre les tentatives de connexion par force brute, vous pouvez activer la limitation de débit pour le module d'authentification. Par défaut, cela limite les attaquants à pas plus de 3 tentatives de connexion toutes les 30 secondes. Voulez-vous activer la limitation de débit (y / n) y

  15. Basculez maintenant la sortie de ce compte pour revenir au compte root:

    exit
    
  16. Redémarrez maintenant le service ssh

    service ssh restart
    

Il suffit maintenant de prendre une session ssh pour l'utilisateur pour lequel vous l'avez configuré et il vous demandera d'abord un code de vérification que vous pouvez saisir depuis votre mobile, puis il vous demandera un mot de passe utilisateur.

entrez la description de l'image ici

C'est tout ce qui est requis pour configurer l'authentification à deux facteurs. N'hésitez pas à améliorer la réponse si nécessaire et veuillez m'excuser pour le langage pas si bon.

Hrish
la source
Lorsque je le désinstalle, il laisse un problème à chaque fois que j'exécute une commande avec sudo: sudo: erreur d'authentification PAM: le module est inconnu
bagustris
@bagustris Vous devez modifier le fichier "/etc/pam.d/common-auth" et supprimer "auth required pam_google_authenticator.so" cette entrée. Après l'avoir désinstallé.
Hrish
pour éditer /etc/pam.d/common-auth, il faut sudo. Parce que sudo ne fonctionne plus, j'ai besoin d'un OS en direct (ou dans mon cas, parce que je double démarrage avec Mac OS, je peux le modifier à partir d'OS X avec un jeu d'autorisations en écriture).
bagustris
1
@bagustris Vous pouvez le faire en passant en mode de récupération.
Hrish
1
Il serait plus sûr de ne pas perdre l'accès à la machine si à l'étape 2 nous utilisons à la auth optionalplace de auth required. Sinon, une connexion n'est plus possible si la session se bloque et que le processus n'est pas terminé.
Pascal