J'ai donc ce petit yubikey et je veux ajouter une couche de sécurité supplémentaire lors de l'authentification des sessions ssh. Côté serveur, j'ai déjà désactivé l'authentification par mot de passe et n'autorise l'utilisation des clés ssh que lors de la connexion.
Le problème est qu'après avoir configuré sshd et PAM pour yubikey auth, sshd ne nécessite toujours qu'une clé ssh, on ne me demande jamais de fournir une réponse de yubikey.
Comment est-ce que j'ai besoin à la fois de la clé ssh et d' un yubikey?
(ubuntu 14.04 - trusty)
/etc/pam.d/common-auth
:
auth required pam_yubico.so mode=client try_first_pass id=<id> key=<secret>
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
/etc/ssh/sshd_config
:
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
ssh
two-factor
ben lemasurier
la source
la source
Réponses:
Ok, j'ai continué et je pense que j'ai trouvé une solution raisonnable. La principale chose qui me manquait auparavant était celle de sshd
AuthenticationMethods publickey,password
. Cela renforce l'exigence d'un publickey et d' un mot de passe - "mot de passe" est maintenant géré parPAM->auth-yubi
. Des modifications supplémentaires étaient également nécessaires, voir ci-dessous:(Ubuntu 14.04 - fidèle):
/etc/pam.d/yubi-auth
Remarque: vous pouvez obtenir votre ID d'accès et votre clé secrète ici
/etc/pam.d/sshd
/ etc / ssh / sshd_config
service ssh restart
Vérification
SSH à partir d'un hôte distant sans clé publique
SSH à partir d'un hôte distant avec une clé publique
Amélioration
Ce serait bien de voir "Yubikey Auth:" au lieu de "mot de passe:" du serveur ssh distant lors de l'authentification.
Que se passe-t-il lorsque le serveur ssh n'est pas en mesure de contacter le système de vérification d'authentification de yubico? Une solution idéale serait entièrement autonome.
Commentaires et suggestions appréciés.
la source
La configuration de 2FA avec Yubikey peut être délicate (on pensait qu'il existe un patch openssh pour U2F ), mais le moyen le plus simple est probablement celui décrit sur le site officiel de Yubico .
C'est essentiellement la façon de stocker votre clé privée sur le Yubikey et de la protéger avec un code PIN. Ce n'est pas exactement le 2FA que vous êtes décrit (mais c'est quelque chose que vous avez et ce que vous savez ), mais cela augmente encore la sécurité (Yubikey se verrouille après quelques tentatives infructueuses).
TL: DR;
la source