Administration
Sécurité

Configurer un bastion SSH multi-facteurs avec Google Authenticator

9 juillet 2025

2 min de lecture

Un bastion SSH sert de point d'entrée sécurisé pour accéder à vos serveurs. En y ajoutant l'authentification à deux facteurs (2FA) via Google Authenticator, vous renforcez significativement la sécurité de vos connexions SSH. Assurez-vous d'abord que vos accès SSH sont sécurisés avec des clés.

Prérequis

  • Serveur Linux (Debian, Ubuntu, RHEL/CentOS) dédié en bastion
  • Client SSH avec clavier pour OTP
  • Un utilisateur non-root pour l’administration

1. Installation des paquets

sudo apt update
sudo apt install libpam-google-authenticator

2. Configuration d’OTP pour l’utilisateur bastion

Connectez-vous en tant que l’utilisateur :

google-authenticator

Répondez aux questions pour générer le secret, le QR code et configurez le délai de validité des OTP.

3. Activer PAM pour SSH

Éditez /etc/pam.d/sshd et ajoutez en haut :

auth required pam_google_authenticator.so nullok

Note de sécurité: Le paramètre nullok permet l'authentification même si l'utilisateur n'a pas configuré son OTP. Cela facilite le déploiement, mais doit être supprimé une fois tous les utilisateurs configurés pour éviter les authentifications sans 2FA.

4. Configurer SSHD

Ouvrez /etc/ssh/sshd_config et réglez :

KbdInteractiveAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

Important: Sur OpenSSH 9.x+ (Debian 12, Ubuntu 22.04+, RHEL 9+), utilisez KbdInteractiveAuthentication yes plutôt que l'ancienne directive ChallengeResponseAuthentication qui est obsolète.

Assurez-vous que UsePAM yes est activé.

Rechargez le service SSH :

sudo systemctl reload sshd

5. Tester le bastion

Lors de la connexion :

ssh user@bastion.example.com

Vous devrez fournir votre clé SSH, puis saisir l’OTP généré par Google Authenticator.

6. Bonnes pratiques

  • Restreindre l'accès SSH par IP sur le bastion.
  • Faire une sauvegarde des secrets OTP sous forme chiffrée.
  • Désactiver l'accès direct aux serveurs backend, n'autoriser que le bastion.
  • Utiliser des certificats OpenSSH pour une gestion centralisée.
  • Considérer Tailscale comme alternative Zero Trust.

Conclusion

En combinant un bastion SSH et Google Authenticator, vous bénéficiez d'un accès à votre infrastructure à la fois pratique et hautement sécurisé, réduisant drastiquement le risque d'accès non autorisé.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets d'infrastructure et d'infogérance.

Contactez-nous

Articles similaires