Validation en deux étapes SSH
La validation en deux étapes, ou la double authentification, permet de demander, en plus d’un mot de passe, un code de confirmation à six chiffres généré par votre téléphone et changeant toutes les dix secondes. Au niveau de la sécurité, combiné avec l’authentification par clef, difficile de faire mieux! En effet même si quelqu’un parvennait à dérober les clefs sur votre ordinateur, il lui faudrait aussi voler votre télephone.
Installation
Attention: si vous effectuez ces manipulations connectés en SSH, ne fermez pas votre connection avant d’avoir pu vous connecter une fois installée la double authentification, sans quoi vous pourriez vous trouver bloqués en dehors de votre ordinateur.
# Ubuntu apt-get install libpam-google-authenticator # Arch yaourt -S google-authenticator-libpam-git # Puis executez google-authenticator afin de generer vos clefs google-authenticator
Veillez à stocker les codes fournis maintenant, ils vous permetteront de vous connecter si jamais vous n’avez pas accès a votre telephone.
Connectez ensuite votre telephone à votre compte. Dans l’application google-authenticator (iOS ou Android) soit en prenant en photo le QR code à l’URL donnée (ou affiché dans le terminal) soit en rentrant la clef secrète fournie. Si tout se passe bien vous aurez quelque chose qui ressemble à ça, sans le compte Gandi évidemment.
Je vous conseille de ne demander le code de confirmation uniquement que pour les connections en SSH, en non globallement. Cependant c’est aussi possible: plutôt que de modifier /etc/pam.d/sshd comme ci-après, modifiez /etc/pam.d/system-auth en redoublant de vigilance afin de ne pas se retrouver sans possiblité de connection.
Donc ouvrez /etc/pam.d/sshd et ajoutez ceci:
auth required pam_google_authenticator.so
Puis modifiez /etc/ssh/sshd_config et changez le “no” de cette ligne en “yes” comme ici:
ChallengeResponseAuthentication yes
Vous pouvez maintenant tester votre connection, si tout se passe bien vous devriez voir ceci:
ssh maxime@lituxx Password: Verification Code:
Et voilà, vous avez maintenant une double vérification sur votre serveur SSH!