Google a sorti une API il y a un petit moment du nom de Google Authenticator. Je suis sûr que vous l’utilisez déjà pour votre compte Gmail (si vous ne le faîtes pas, vous devriez). Vous pouvez l’installer à partir de l’Android Market (ou le market Apple pour les adorateurs d’Apple) puis paramétrez votre compte.
J’ai récemment lu que l’on pouvait aussi le faire pour SSH. Comme j’ai quelques VMs présentes sur internet, je me suis dit que j’allais l’installer. Ce tutoriel rapide est basé sur Debian.
Assurez vous d’installer les bons paquets pour commencer : apt-get install mercurial libpam0g-dev puis clonez le repo : hg clone https://google-authenticator.googlecode.com/hg/ google-authenticator. Il vous faut ensuite compiler le binaire et module PAM cd google-authenticator/libpam/ && make && make install.
Vous pouvez maintenant paramétrer votre utilisateur pour Google Authenticator, Pour ce faire, assurez vous d’être loggué en tant que l’utilisateur puis tapez la commande suivante : google-authenticator. Il va créer les codes permanents et de récupération, ainsi qu’un lien https pour scanner votre nouvelle authentification avec l’application de votre téléphone.
Il ne reste à présent qu’à activer le module pam, éditez /etc/pam.d/sshd et ajoutez ce qui suit (avant la ligne include common-auth)
auth required pam_google_authenticator.so
Puis éditez /etc/ssh/sshd_config et assurez vous d’activer les variables suivantes en yes: ChallengeResponseAuthentication and UsePAM Redémarrez alors le démon SSH.
C’est prêt, votre serveur vous accueille à présent avec ceci :
frlinux@qosmio:~$ ssh server
Verification code:
Password: