J'ai actuellement un serveur Ubuntu 12.04 exécutant OpenSSH avec Samba et quelques autres services. À l'heure actuelle, j'ai configuré l'authentification par clé publique et je me demande s'il est possible de configurer l'authentification à deux facteurs? J'ai consulté Google Authenticator que j'utilise actuellement avec mon compte Gmail.
J'ai trouvé un module PAM qui semble compatible, mais il semble que vous soyez obligé d'utiliser un mot de passe et le code généré.
Je me demande s'il existe un moyen d'utiliser l'application Google Authenticator (ou quelque chose de similaire) avec ma clé publique pour m'authentifier sur mon serveur SSH?
ssh
authentication
public-key
two-factor
Âne en béton
la source
la source
Réponses:
Red Hat a ajouté un correctif à OpenSSH dans RHEL (et donc CentOS) 6.3 pour exiger plusieurs mécanismes d'authentification, vous pouvez donc faire quelque chose comme ceci:
Voir les notes de version pour pas beaucoup plus de détails.
Malheureusement, cette fonctionnalité ne semble pas être dans OpenSSH en amont ni dans Ubuntu 12.04, donc à moins que vous ne vouliez trouver le correctif et recompiler OpenSSH, je crains que vous n'ayez pas de chance.
la source
AuthenticationMethods
pour spécifier plusieurs méthodes requises, de sorte que vous pouvez exiger à la fois une clé ssh et PAM, PAM faisant la fin de Google Authenticator.Vous recherchez Duo Security
la source
Vous pouvez utiliser à la fois le module PAM Google Authenticator et les clés publiques, mais une seule à la fois sera utilisée pour une authentification donnée. Autrement dit, si un utilisateur se connecte avec une clé publique autorisée, aucun jeton ne sera requis.
Ou, pour le dire autrement: les jetons ne sont nécessaires que pour les authentifications de mot de passe, pas les clés SSH.
Cette limitation ne vient pas du module Google Authenticator, mais de SSH, qui n'implémente que l'authentification à deux facteurs (via
ChallengeResponseAuthentication
) pour PAM, mais n'appelle pas PAM lorsqu'une clé publique valide est fournie.la source
AuthenticationMethods
paramètre de configuration qui peut inverser cela. Maintenant, vous pouvez avoir besoin des deux.Cette question date de 2012. Depuis, SSH a changé et le protocole SSH2 a été implémenté.
Sur les versions plus récentes de SSH (> = 6.2), man sshd_config mentionne:
Cette page http://lwn.net/Articles/544640/ mentionne également la possibilité d'utiliser à la fois un publickey et une authentification PAM.
la source
Je sais que cette question est un peu obsolète, mais pour le bien des personnes futures (moi y compris) qui recherchent une solution, il est également question d'utiliser l'option ForceCommand dans le fichier sshd_config pour exécuter un script qui effectue ensuite l'authentification. Il y a un exemple de script ici que vous pouvez modifier un peu selon vos besoins, bien que dans cet exemple, il l'appelle à partir du fichier authorized_keys au lieu de le faire à l'échelle du système avec ForceCommand de sshd_config.
la source
Obtenez une YubiKey et suivez ce guide http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, c'est le meilleur moyen d'implémenter Yubikey sur votre serveur pour l'accès SSH. Le guide ci-dessus vous permet d'utiliser la clé publique + yubikey alors que si vous allez avec le guide officiel ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), cela ne fonctionne pas avec public- clé.
Cordialement, Vip
la source
Si vous définissez une phrase secrète sur votre clé privée, vous disposez déjà d'une authentification à deux facteurs. Pour se connecter, les gens auraient besoin de:
la source