Salta al contenuto principale
Lympha technologies

Guide pratiche

Désactiver l'accès par mot de passe pour le protocole SSH

Comment désactiver l'accès par mot de passe au service SSH d'un VPS Linux : copie de sauvegarde de sshd_config, modification de PasswordAuthentication, redémarrage et vérification du service — et l'astuce des deux sessions pour ne pas rester bloqué …

Poursuivant le chemin entamé avec les articles précédents sur la sécurisation d'un VPS sous Linux (le guide de base et l'accès par clés SSH), nous allons maintenant modifier le service SSH afin qu'il n'accepte plus les demandes d'accès par saisie de mot de passe. Ainsi, l'accès ne sera possible qu'au moyen de clés SSH, ce qui élève intrinsèquement le niveau de sécurité du VPS.

Si vous veniez à perdre votre clé privée, vous pourrez toujours accéder à votre VPS avec utilisateur et mot de passe via la console web de VPS GREEN, accessible depuis le tableau de bord. Une fois connecté depuis la console, vous pourrez reconfigurer SSH avec une nouvelle clé privée ou rétablir l'accès par nom d'utilisateur et mot de passe.

Prérequis

  1. Un VPS avec un système d'exploitation Linux
  2. Un utilisateur doté de privilèges adéquats, c'est-à-dire sudo ou directement root
  3. Un éditeur de texte; dans notre exemple, nous utiliserons nano
  4. Avoir configuré SSH pour l'utilisation de clés chiffrées

Modifiez la configuration du service SSH

Avant de commencer les modifications, ouvrez deux sessions SSH : dans l'une, vous exécuterez toutes les opérations indiquées, tandis que l'autre restera ouverte en cas d'urgence (elle peut être utile pour éviter de rester bloqué dehors si les modifications apportées au fichier de configuration s'avéraient erronées). Le fichier de configuration du service SSH se trouve dans /etc/ssh/sshd_config; seul l'utilisateur root peut le modifier.

  1. Plaçons-nous dans le répertoire où se trouve le fichier sshd_config :
    $ cd /etc/ssh
  2. Faisons une copie du fichier sshd_config, afin de pouvoir restaurer rapidement tous les paramètres modifiés :
    $ sudo cp sshd_config sshd_config.orig
  3. Nous pouvons maintenant commencer la modification de la configuration :
    $ sudo nano sshd_config

À l'intérieur du fichier, tout ce qui commence par # (dièse) est un commentaire et est ignoré au démarrage du service; en même temps, cela nous indique la valeur par défaut de l'option concernée. Par exemple :

#Port 22   <- questa è la porta di default del servizio, ignorata
Port 4422  <- questa è la nuova porta, scelta da noi, utilizzata

Pour empêcher l'accès par mot de passe, nous devons trouver l'option PasswordAuthentication, supprimer le symbole # et remplacer sa valeur par défaut par no — ou, si l'on préfère, écrire une nouvelle ligne en conservant intacte la valeur précédente. Avec l'éditeur nano, nous disposons d'une fonction de recherche bien pratique : il suffit d'appuyer sur les touches CTRL+W pour faire apparaître, en bas de la fenêtre, un champ où saisir le texte à rechercher; en appuyant sur ENTRÉE, la recherche démarre dans le fichier.

Une fois le paramètre PasswordAuthentication trouvé, vous pouvez le modifier :

# PasswordAuthentication yes
PasswordAuthentication no

Enregistrez les modifications en appuyant sur les touches CTRL+X, puis Y et enfin ENTRÉE pour accepter le nom de fichier proposé.

  1. Il faut maintenant rendre effectives les modifications qui viennent d'être faites : il est donc nécessaire de redémarrer le service SSH en lançant la commande
    $ sudo systemctl restart sshd
  2. Étant donné que vous ne recevrez aucune sortie particulière confirmant le redémarrage, vérifiez que le service a bien démarré (si le fichier sshd_config contient des erreurs, le service ne redémarrera pas) :
    $ sudo systemctl status sshd

Plus jamais de mot de passe

Si la procédure a été correctement exécutée, vous verrez à la ligne « Active: » que le service est actif et en cours d'exécution, avec un rassurant active (running). Vous pouvez maintenant essayer de vous connecter, par exemple sans la clé privée, pour constater que le service SSH de votre VPS refusera fermement l'accès, sans même demander de nom d'utilisateur ni de mot de passe :

utente_vps@ip_vps: Permission denied (publickey)

Guide publié initialement sur le blog de VPS GREEN, le service VPS sur notre cloud privé green.

Partager cet article

LinkedIn X Email

Rédaction Lympha

Les articles de ce blog naissent de l'expérience de terrain de nos Business Units et Centres de compétences : ceux qui écrivent sont ceux qui conçoivent, exploitent et supportent chaque jour les systèmes dont nous parlons. Les contenus ont une vocation informative et reflètent l'état de l'art à la date de publication.

Cela pourrait aussi vous intéresser