Maison  >  Article  >  Opération et maintenance  >  Installez Google-Authenticator sur la machine bastion

Installez Google-Authenticator sur la machine bastion

巴扎黑
巴扎黑original
2017-06-23 14:34:313086parcourir

Les machines en ligne de l'entreprise ne permettent pas aux utilisateurs de se connecter à volonté, les développeurs ne peuvent donc pas se connecter à volonté aux machines de production. Je prévois donc d'utiliser la méthode de vérification Google-Auth.

Si la méthode google-auth.

Construisez google-authenticator :

Construire ceci est très simple, comme suit :

git clone téléchargez la dernière version de google auth.

cd google-authenticator-libpam/

./bootstrap.sh

./configure && make && make install

ln -s /usr/ local/lib/security/pam_google_authenticator.so /lib64/security/pam_google_authenticator.so

Modifier /etc/pam.d/sshd,

#Ajouter une ligne en haut "auth requise pam_google_authenticator .so "
​ #Cette configuration peut être plus compliquée, ajoutez quelques paramètres, voir libpam/README
​ #Remarque : Si vous rencontrez une situation où vous devez quand même saisir un mot de passe, remplacez-le par " auth suffisant pam_google_authenticator.so" et essayez-le.

Modifier /etc/ssh/sshd_config

Changer le numéro de l'option ChallengeResponseAuthentication en oui

Modifier UsePAM oui

redémarrage du service sshd

Générer une clé

$ google-authenticator #Remarque : l'utilisateur qui exécute cette commande est l'utilisateur qui doit se connecter, pas l'utilisateur root
Voulez-vous que les jetons d'authentification soient basés sur le temps (y /n) y ( Confirmation : jeton d'authentification basé sur le temps)
[L'adresse, le code QR, le texte brut de la clé et le code d'urgence qui ont généré le code QR seront affichés ici]
Voulez-vous que je mette à jour votre Fichier "/var/www/. google_authenticator" (o/n) y (Confirmer : mettre à jour le fichier de configuration)
 ...
 taille de 1:30min à environ 4min Voulez-vous le faire (o/. n) n (La période de validité du jeton est de 1,5 min, choisissez y pour obtenir 4 min)
 ...
 Voulez-vous activer la limitation de débit (o/n) y (seulement trois tentatives sont autorisées dans les 30 s)

Scannez le code QR dans l'application, ou entrez la clé manuellement, et vous verrez que le token est mis à jour toutes les 30 secondes

Essayez de vous connecter
$ ssh localhost
Code de vérification : [Entrez le code de vérification ]
Mot de passe : [Entrez le mot de passe]

Supplément :

Mais à ce moment-là, Google Authenticator a simplement été ajouté, et dans l'utilisation réelle, il est trop fastidieux de saisir à la fois la vérification et le mot de passe, donc lors de la construction de notre machine tremplin, nous avons choisi la solution de clé publique + authentificateur, et nous n'avons besoin de saisir le code de vérification qu'une seule fois. Mais c’est beaucoup demander ici. Par exemple, la version d'openssh est supérieure à 6.2. Sinon, AuthenticationMethods ne peut pas être utilisé. Le meilleur moyen est d'utiliser la version centos7 (il a été vérifié qu'elle peut être utilisée). ça devrait l'être parce que je ne suis pas bon en technologie).

Le schéma de configuration spécifique n'a pas beaucoup changé, principalement en utilisant le nouveau paramètre AuthenticationMethods de SSH 6.2+, qui peut spécifier une série de méthodes de vérification. La configuration spécifique est la suivante :

Citation
#Par défaut, la vérification de la clé publique est requise en premier, puis le code de vérification
AuthenticationMethods publickey,keyboard-interactive

#Pour l'IP spécifiée, seule la vérification de la clé publique est requise
Match Address 10.0.0.4
AuthenticationMethods publickey

#Vous pouvez également spécifier que l'utilisateur n'a besoin que de la vérification de la clé publique
#Match User XXX
#AuthenticationMethods publickey
🎜>


Au fait, je veux me plaindre, Linux est vraiment frustrant lorsque j'ai configuré la machine de sauvegarde Springboard aujourd'hui, c'était exactement la même configuration. Bien que la configuration ne spécifie que la clé publique et l'interaction avec le clavier, chaque fois que j'ai entré le code de vérification, je dois toujours saisir le mot de passe. Après avoir lutté pendant plusieurs heures, j'ai découvert que « authentification requise pam_google_authenticator.so » n'était plus approprié. et doit être remplacé par "auth suffisant pam_google_authenticator.so", afin que le processus d'authentification se termine après la saisie du code de vérification (une implémentation suffisante ajoute une pause ? Que diable.) (Merci @ )


Enfin, un rappel
Utilisez SecureCRT Classmate , vous devez sélectionner uniquement "Clavier interactif" dans Authentification dans Options de session -> Connexion -> .

Erreur : configure : erreur : Impossible de trouver la bibliothèque PAM ou les fichiers d'en-tête PAM

Méthode : yum install -y pam-devel

Citation :

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn