Désactiver la connexion root par mot de passe
Pourquoi la connexion root par mot de passe est dangereuse, en quoi les options PermitRootLogin diffèrent, et comment la désactiver sans perdre l'accès à la machine.
Mis à jour le 23 août 2026
Tout le monde connaît le nom root : il existe sur chaque machine et possède toutes les permissions. Un attaquant par force brute n'a donc plus qu'une seule chose à deviner — le mot de passe. Désactiver la connexion par mot de passe pour root élimine toute une classe d'attaques avec un seul paramètre.
Préparation
D'abord la solution de secours, ensuite l'interdiction. L'ordre est l'inverse de ce que vous avez envie de faire.
- Créez un utilisateur avec sudo — utilisateurs et sudo.
- Ajoutez-y votre clé SSH et vérifiez la connexion dans une fenêtre de terminal séparée.
- Assurez-vous que
sudo -ifonctionne. - Ne modifiez le paramètre qu'à ce moment-là.
ssh artem@<address>
sudo whoami
Si la seconde commande a renvoyé root, vous disposez d'une solution de secours.
Options de configuration
Dans le fichier /etc/ssh/sshd_config.d/99-hardening.conf :
| Valeur | Ce qu'elle signifie |
|---|---|
PermitRootLogin yes | Tout est autorisé, y compris le mot de passe. Personne ne laisse ce réglage ainsi |
PermitRootLogin prohibit-password | La clé fonctionne, le mot de passe est rejeté. Un minimum raisonnable |
PermitRootLogin forced-commands-only | Uniquement des commandes prédéfinies, pour l'automatisation |
PermitRootLogin no | Root ne peut pas se connecter du tout en SSH. L'option la plus stricte |
Combinaison recommandée :
PermitRootLogin prohibit-password
PasswordAuthentication no
Le second paramètre ferme la connexion par mot de passe pour tous les utilisateurs d'un coup, pas seulement pour root. Pour plus de détails, consultez durcissement SSH.
Appliquer et vérifier
sudo sshd -t
sudo systemctl restart ssh
sudo sshd -T | grep -i permitrootlogin
Depuis une autre fenêtre, vérifiez que root n'accepte plus de mot de passe et que votre utilisateur se connecte bien avec la clé :
ssh root@<address>
ssh artem@<address>
Le redémarrage de sshd ne coupe pas la session en cours — gardez-la ouverte jusqu'à la fin des vérifications.
Ce qui reste disponible
La modification concerne uniquement SSH. Le mot de passe root reste nécessaire et fonctionne toujours :
- dans la console de la machine, sur les deux onglets — celui en texte et « Screen » ;
- lors d'une connexion via le disque de récupération ;
- pour la commande
su -à l'intérieur du système.
Le mot de passe lui-même est stocké chiffré et se révèle via un bouton dans l'onglet « Accès » du panneau à l'adresse /hosting/vds/m/<id>. C'est votre voie d'urgence, et vous ne devez pas la perdre — voir sauvegarde des clés et mots de passe.
Erreurs courantes
| Erreur | Conséquence | Solution |
|---|---|---|
| Vous avez désactivé root sans jamais créer d'utilisateur avec sudo | Personne ne peut administrer la machine | Utilisez la console du panneau et créez un utilisateur |
| La clé n'existe que pour root | Le nouvel utilisateur ne peut pas se connecter | Copiez authorized_keys et corrigez les permissions |
| Le paramètre est écrasé par un autre fichier | La règle n'a aucun effet | Vérifiez sshd -T, pas le fichier |
| Croire que l'interdiction s'applique à la console | Un faux sentiment de verrouillage total | La console fonctionne toujours, par conception |
Ne désactivez jamais la connexion root sans vérifier la connexion alternative dans une fenêtre voisine. La vérification prend dix secondes ; une récupération via la console prend bien plus longtemps.