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 :
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 -> .
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!