Pour VPS+, VPS, Serveur Cloud, Serveur Dédié et Serveur Dédié équipés d'AlmaLinux 9, AlmaLinux 10, Rocky Linux 9, Rocky Linux 10, Ubuntu 24.04, Ubuntu 26.04, Debian 12 et Debian 13

Dans cet article, vous apprendrez comment désactiver la connexion root.

Par défaut, le compte root est le premier compte créé sur chaque système Linux. Le compte root dispose des droits les plus élevés. Avec ce compte, vous avez accès à toutes les commandes et à tous les fichiers, et vous disposez de droits complets de lecture, d'écriture et d'exécution. Une utilisation inappropriée ou abusive de ce compte peut avoir des conséquences importantes sur votre serveur.

Attention

Avant de désactiver la connexion root via SSH, assurez-vous qu'un autre utilisateur disposant des droits sudo existe et que vous pouvez vous connecter à celui-ci via SSH. Sinon, vous perdrez l'accès administratif à votre serveur !

Condition préalable

  • Vous avez déjà créé un utilisateur supplémentaire disposant des droits sudo et vérifié qu'il pouvait se connecter via SSH.

Voici comment désactiver la connexion root via SSH :

  • Connectez-vous à votre serveur en tant qu'utilisateur disposant des droits sudo.

  • Effectuez une sauvegarde de la configuration. Pour ce faire, saisissez la commande suivante :

    sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

  • Ouvrez le fichier de configuration SSH sshd_config avec l'éditeur de texte vi :

    sudo vi /etc/ssh/sshd_config

    Remarque
    L'éditeur vi dispose d'un mode insertion et d'un mode commande. Vous pouvez activer le mode insertion à l'aide de la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour passer en mode commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.

  • Recherchez la ligne : PermitRootLogin yes (ou PermitRootLogin yes)

  • Remplacez cette entrée par « PermitRootLogin no » et assurez-vous qu’il n’y a pas de caractère de commentaire (#) au début de la ligne.

    PermitRootLogin no

  • Assurez-vous que cette directive n'apparaît pas plusieurs fois. Supprimez les entrées en double si nécessaire.

  • Pour quitter vi et enregistrer le fichier, saisissez la commande suivante en mode commande, puis appuyez sur la touche Entrée:

    :wq

  • Sur de nombreux systèmes, les fichiers de remplacement situés dans /etc/ssh/sshd_config.d/.conf peuvent remplacer les valeurs existantes. Pour les vérifier, saisissez la commande suivante :

    grep -nH "PermitRootLogin" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/.conf 2>/dev/null

  • Avant de redémarrer le service, vérifiez que le fichier de configuration ne contient pas d'erreurs de syntaxe. Pour ce faire, saisissez la commande suivante :

    sshd -t

    Si aucune information n'est affichée, cela signifie qu'il n'y a pas d'erreur de syntaxe.

  • Pour que la modification prenne effet, redémarrez le service SSH. Pour ce faire, sélectionnez la commande adaptée à votre système d'exploitation :

    Ubuntu 24.04, Ubuntu 26.04, Debian 12 et Debian 13

    systemctl restart ssh

    Rocky Linux 9 et 10, ainsi qu’AlmaLinux 9 et 10

    systemctl restart sshd

  • Pour vérifier si les modifications ont bien été prises en compte, saisissez la commande suivante :

    sshd -T | grep -i permitrootlogin

Aide en cas de problème

Pour restaurer la configuration sauvegardée, saisissez les commandes suivantes :

Ubuntu 24.04, Ubuntu 26.04, Debian 12 et Debian 13

sudo cp -a /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
sudo sshd -t && systemctl reload ssh

Rocky Linux 9 et 10 ainsi qu’AlmaLinux 9 et 10

sudo cp -a /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
sudo sshd -t && systemctl reload sshd