GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Configurer l'authentification multifacteur pour SSH sur Ubuntu 20.04

SSH est un «Secure Shell Protocol» utilisé pour connecter et gérer des systèmes Linux distants en toute sécurité sur un réseau non sécurisé. Il est très utile pour les administrateurs système d'effectuer des tâches quotidiennes sur le serveur distant. La sécurisation d'un serveur SSH est donc une partie essentielle de tout administrateur système.

Par défaut, vous pouvez vous connecter en SSH avec un mot de passe ou en utilisant la clé privée. Cela signifie qu'il ne s'agit que d'une authentification à un seul facteur. C'est donc une bonne idée d'implémenter une authentification multifacteur dans le serveur SSH pour ajouter une couche de sécurité supplémentaire. Dans l'authentification multifacteur, vous devrez fournir votre mot de passe d'utilisateur système et un autre mot de passe généré sur un appareil mobile. Cela améliorera considérablement la sécurité de votre serveur.

Dans ce didacticiel, nous allons vous montrer comment configurer l'authentification multifacteur pour SSH sur Ubuntu 20.04 VPS.

Prérequis

  • Un VPS Ubuntu 20.04 (nous utiliserons notre plan SSD 2 VPS)
  • Accès au compte utilisateur root (ou accès à un compte administrateur avec privilèges root)

Étape 1 :Connectez-vous au serveur et mettez à jour les packages du système d'exploitation du serveur

Tout d'abord, connectez-vous à votre serveur Ubuntu 20.04 via SSH en tant qu'utilisateur root :

ssh root@IP_Address -p Port_number

Vous devrez remplacer "IP_Address" et "Port_number" par l'adresse IP et le numéro de port SSH respectifs de votre serveur. De plus, remplacez "root" par le nom d'utilisateur du compte administrateur si nécessaire.

Avant de commencer, vous devez vous assurer que tous les packages du système d'exploitation Ubuntu installés sur le serveur sont à jour. Vous pouvez le faire en exécutant les commandes suivantes :

apt-get update -y
apt-get upgrade -y

Étape 2 :Installer Google Authenticator

Nous utiliserons Google Authenticator pour l'authentification multifacteur. Vous devrez donc installer le module Google Authenticator PAM sur votre système. Vous pouvez l'installer en exécutant la commande suivante :

apt-get install libpam-google-authenticator -y

Une fois le package installé, lancez Google Authenticator à l'aide de la commande suivante :

google-authenticator

Lors de l'installation, la question suivante vous sera posée :

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@ubuntu2004%3Fsecret%3D4XXQ2QA6FRV72SDM2JWSZTQJE4%26issuer%3D

Appuyez sur y et appuyez sur Entrée continuer. Vous devriez voir un code QR dans l'écran suivant :

Répondez à toutes les questions et appuyez sur Entrée pour terminer le processus comme indiqué ci-dessous :

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

Étape 3 :Installer l'application Google Authenticator

Ensuite, vous devrez installer l'application Google Authenticator sur votre smartphone. Une fois installé, ouvrez Google Authenticator sur votre mobile et scannez le code QR ci-dessus. Une fois le code QR scanné, vous devriez voir un mot de passe à usage unique à six chiffres sur votre téléphone, comme indiqué ci-dessous :

Ce mot de passe expirera dans les 30 secondes. Vous devrez donc ouvrir l'application Google Authenticator et voir un nouveau mot de passe pour vous connecter au serveur Ubuntu via SSH.

Vous pouvez également voir la clé secrète, le code de vérification et le code à gratter d'urgence dans la sortie ci-dessus. Il est recommandé de le conserver dans un endroit sûr pour une utilisation ultérieure.

Your new secret key is: 4XXQ2QA6FRV72SDM2JWSZTQJE4
Your verification code is 423832
Your emergency scratch codes are:
  96469497
  84504151
  61871048
  79931657
  71052210

Étape 4 :Configurer SSH pour utiliser Google Authenticator

Ensuite, vous devrez également configurer SSH pour utiliser Google Authenticator. Vous pouvez le configurer en éditant le fichier /etc/ssh/sshd_config :

nano /etc/ssh/sshd_config

Modifiez les lignes suivantes :

UsePAM yes
ChallengeResponseAuthentication yes

Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service SSH pour appliquer la configuration :

systemctl restart sshd

Ensuite, vous devrez éditer le fichier /etc/pam.d/sshd et définir les règles PAM pour le service SSH :

nano /etc/pam.d/sshd

Ajoutez la ligne suivante après @include common-auth :

auth required pam_google_authenticator.so

Enregistrez et fermez le fichier.

Étape :5 Tester l'authentification à deux facteurs

À ce stade, votre serveur SSH est maintenant configuré avec une authentification multifacteur. Il est temps de le connecter et de le tester.

Sur le système distant, ouvrez votre terminal et connectez-vous à votre serveur via SSH comme indiqué ci-dessous :

ssh root@ssh-server-ip

Il vous sera demandé de fournir votre mot de passe système et le code de vérification généré par Google Authenticator. Fournissez votre mot de passe système affiché dans l'application Google Authenticator et appuyez sur Entrée pour vous connecter au serveur comme indiqué ci-dessous :

Toutes nos félicitations! votre serveur SSH est maintenant sécurisé avec une authentification multi-facteurs..

Bien sûr, vous n'avez pas besoin de configurer l'authentification multi-facteurs pour SSH sur Ubuntu VPS si vous utilisez l'un de nos services d'hébergement géré, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer l'authentification multi-facteurs pour SSH. sur Ubuntu, pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la configuration de l'authentification multifacteur pour SSH sur Ubuntu, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Panels
  1. Un script BASH simple pour la post-installation du serveur Ubuntu

  2. Comment configurer WireGuard sur Ubuntu 22.04

  3. Comment installer et configurer le serveur sftp dans Ubuntu 20.04

  4. Comment configurer un serveur TeamSpeak sur Ubuntu 16.04

  5. Comment configurer des clés SSH sur Ubuntu 16.04

Comment configurer l'authentification multifacteur pour SSH sous Linux

Configurer l'authentification à deux facteurs SSH (2FA) sur le serveur Ubuntu

Comment configurer l'authentification à deux facteurs SSH sur Ubuntu 16.04 avec Google Authenticator

Comment configurer le serveur de tuiles vectorielles Tegola sur Ubuntu 20.04 pour OpenStreetMap

Comment activer le serveur SSH sur Ubuntu 22.04

Serveur de surveillance Graylog sur Ubuntu Linux pour la surveillance du serveur/des services