Ce tutoriel vous montrera comment configurer l'authentification à deux facteurs SSH sur serveur Ubuntu 16.04 en utilisant le célèbre Google Authenticator. Une fois configuré, la sécurité de votre serveur SSH sera considérablement augmentée.
Fonctionnement de Google Authenticator
L'authentification à deux facteurs, également connue sous le nom de vérification en deux étapes, nécessite que vous saisissiez deux informations pour vous connecter. Google Authenticator génère un mot de passe à usage unique à l'aide d'une clé secrète partagée et de l'heure actuelle. Non seulement vous devez fournir le nom d'utilisateur et le mot de passe corrects, mais vous devez également saisir un mot de passe à usage unique généré par Google Authenticator pour vous connecter à votre serveur SSH.
Étape 1 :Installez et configurez Google Authenticator sur le serveur Ubuntu 16.04
Connectez-vous à votre serveur Ubuntu et exécutez la commande suivante pour installer Google Authenticator à partir du référentiel de packages Ubuntu par défaut.
sudo apt install libpam-google-authenticator
Exécutez ensuite le google-authenticator
commande pour créer une nouvelle clé secrète dans votre répertoire personnel.
google-authenticator
À la question "Voulez-vous que les jetons d'authentification soient basés sur le temps ?" Répondez y . Un code QR vous sera ensuite présenté, que vous pourrez scanner à l'aide de Google Authenticator. application mobile.
Installez l'application Google Authenticator via Google Play ou Apple App Store sur votre téléphone portable et scannez le code QR. Le code QR représente la clé secrète, qui n'est connue que de votre serveur SSH et de votre application Google Authenticator. Une fois le code QR scanné, vous pouvez voir un mot de passe à usage unique à six chiffres sur votre téléphone. Par défaut, il dure 30 secondes.
Vous pouvez voir la clé secrète, le code de vérification et le code à gratter d'urgence dans la fenêtre du terminal. Il est recommandé de sauvegarder ces informations dans un endroit sûr pour une utilisation ultérieure.
Ensuite, vous pouvez saisir y pour répondre à toutes les questions restantes. Cela mettra à jour votre fichier de configuration Google Authenticator, désactivera les utilisations multiples du même jeton d'authentification, augmentera la fenêtre de temps et activera la limitation du débit pour vous protéger contre les tentatives de connexion par force brute.
Étape 2 : Configurer le démon SSH pour utiliser Google Authenticator
Ouvrez le fichier de configuration du serveur SSH.
sudo nano /etc/ssh/sshd_config
PAM signifie module d'authentification enfichable. Il fournit un moyen simple de connecter différentes méthodes d'authentification à votre système Linux. Pour activer Google Authenticator avec SSH, l'authentification PAM et Challenge-Response doivent être activées. Recherchez donc les deux lignes suivantes dans le fichier et assurez-vous qu'elles sont toutes deux définies sur oui .
UsePAM yes ChallengeResponseAuthentication yes
Enregistrez et fermez le fichier. Redémarrez ensuite le démon SSH.
sudo systemctl restart ssh
Ensuite, modifiez le fichier de règles PAM pour le démon SSH.
sudo nano /etc/pam.d/sshd
Ajoutez l'entrée suivante à la fin du fichier.
auth required pam_google_authenticator.so
Enregistrez et fermez le fichier. À partir de maintenant, le démon SSH utilisera Google Authenticator.
Étape 3 :Testez votre authentification à deux facteurs SSH
Ouvrez maintenant une fenêtre de terminal séparée et essayez de vous connecter à votre serveur SSH. Ne fermez pas votre session SSH actuelle. Si quelque chose ne va pas, vous pouvez le réparer dans votre session SSH actuelle. Si tout est configuré correctement, il vous sera demandé d'entrer à la fois votre mot de passe utilisateur et le mot de passe à usage unique.
Notez également que chaque utilisateur de votre serveur Ubuntu 16.04 doit exécuter google-authenticator
commande et scannez le code QR afin d'utiliser l'authentification à deux facteurs.
Code à gratter d'urgence
Le code à gratter d'urgence est votre code de secours. Si vous perdez votre téléphone, vous pouvez saisir l'un des cinq codes à gratter d'urgence au lieu d'un mot de passe à usage unique pour effectuer la vérification en deux étapes. Notez que ces codes sont à usage unique.
Utiliser un deuxième téléphone
Si vous avez un deuxième téléphone, vous pouvez installer l'application Google Authenticator sur votre deuxième téléphone et entrer manuellement la clé secrète. C'est la même chose que de scanner le code QR.
Si vous souhaitez modifier la clé secrète, connectez-vous simplement à votre serveur et exécutez google-authenticator
commande à nouveau pour mettre à jour le ~/.google_authenticator
fichier.
Synchronisation de l'heure
Étant donné que le mot de passe à usage unique est calculé à l'aide de la clé secrète partagée et de l'heure actuelle, il est donc judicieux d'activer la synchronisation de l'heure NTP sur votre serveur Ubuntu 16.04.
J'espère que ce tutoriel vous a aidé à configurer l'authentification à deux facteurs SSH sur le serveur Ubuntu 16.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite.