Comment activer la connexion root sur votre serveur Cloud Linux
Vous pouvez déverrouiller le compte root et, si nécessaire, activer la connexion SSH root directe sur votre serveur Cloud Linux. Ceci est utile lorsqu'une application ou un installateur nécessite spécifiquement l'utilisateur root plutôt que sudo. Cela s'applique à tous les produits Cloud Server (VPS) non gérés de one.com exécutant Linux.
Avant de commencer, assurez-vous d'avoir :
- Un serveur Cloud en cours d'exécution avec une distribution Linux installée.
- Accès à votre serveur via SSH ou la console Web oneHome, en utilisant votre utilisateur sudo par défaut. Consultez Connectez-vous à votre serveur Cloud Linux via SSH si vous ne l'avez pas encore fait.
- Le mot de passe de votre utilisateur sudo, pour autoriser les étapes ci-dessous.
-
Pourquoi vous pourriez avoir besoin d'un accès root
Par défaut, un nouveau serveur Cloud est provisionné avec un utilisateur non-root (
administratorpar défaut) qui dispose de toutes les permissionssudo, plutôt qu'un compte root avec un mot de passe défini ou une connexion SSH root directe. Ceci est délibéré : cela suit les pratiques courantes de renforcement de la sécurité Linux et réduit l'exposition aux attaques par force brute automatisées contre le nom d'utilisateur bien connu « root ». Pour la plupart des tâches d'administration quotidiennes, l'exécution de commandes avecsudoest suffisante et constitue l'approche recommandée.Cela dit, certaines applications, certains installateurs ou certains scripts exigent explicitement le véritable utilisateur root, par exemple en vérifiant
$EUID -eq 0, plutôt qu'un shell élevé par sudo, et refusent de s'exécuter correctement avecsudoseul. -
Quand vous pourriez en avoir besoin
Situations typiques où vous en auriez besoin :
- Installation de logiciels avec un installateur qui exige un shell root.
- Exécution de scripts d'installation tiers qui rejettent
sudoet nécessitent un accès root littéral. - Utilisation d'applications ou d'outils hérités conçus uniquement pour root.
- Récupération de l'accès si le compte de votre utilisateur sudo est verrouillé, supprimé ou si sa configuration sudoers est corrompue. Un mot de passe root est votre solution de secours pour accéder à nouveau au serveur.
- Réparation du système en mode secours, par exemple en cas de chargeur de démarrage défectueux ou de problème de système de fichiers, où travailler dans un chroot signifie que les mécanismes habituels de sudo peuvent ne pas être disponibles de manière fiable.
- Migration d'un serveur complet ou synchronisation d'une sauvegarde complète avec
rsyncouscpen tant que root, afin que la propriété des fichiers et les permissions soient transférées exactement sur tout le système. - Exécution d'outils de configuration interactifs, tels que
dpkg-reconfigureou certains assistants de configuration de base de données, qui attendent un véritable environnement de connexion root (HOME=/root,PATHcomplet de root), ce quesudo <command>seul ne reproduit pas entièrement. - Gestion des tâches cron appartenant à root, ou installation d'un agent de surveillance ou de sauvegarde en tant que service systemd appartenant à root.
Instructions étape par étape
-
Partie 1 : définir un mot de passe root (première étape requise)
Ceci est la première étape requise, et vous donne un shell root sans ouvrir SSH.
- Connectez-vous à votre serveur Cloud via SSH ou la console Web, en utilisant votre utilisateur sudo par défaut.
- Définissez un mot de passe pour le compte root :
sudo passwd root
- Saisissez et confirmez un nouveau mot de passe fort lorsque vous y êtes invité.
- Vous pouvez désormais passer à l'utilisateur root depuis votre session actuelle à tout moment :
su -
Si vous avez seulement besoin d'un shell root ou si vous souhaitez exécuter des commandes individuelles en tant que root, vous n'avez pas besoin d'aller plus loin ;
su -etsudocouvrent déjà cela sans exposer SSH. -
Partie 2 : activer la connexion root directe via SSH (facultatif)
Ne faites cela que si quelque chose vous oblige spécifiquement à vous connecter en tant que root via SSH, plutôt que de passer en root après la connexion.
- Ouvrez le fichier de configuration du serveur SSH :
sudo nano /etc/ssh/sshd_config
- Recherchez la ligne commençant par
PermitRootLogin. Elle peut être commentée avec un#, ou définie surnoouprohibit-password. - Modifiez-la comme suit :
PermitRootLogin yes
- Enregistrez et fermez le fichier.
- Redémarrez le service SSH pour appliquer la modification :
sudo systemctl restart sshd
- Vous pouvez désormais vous connecter directement en tant que root :
ssh root@
Pour utiliser une clé SSH au lieu d'un mot de passe pour la connexion root, ajoutez votre clé publique à
/root/.ssh/authorized_keys.
Bon à savoir
L'activation de la connexion SSH root directe augmente la surface d'attaque de votre serveur
« root » est un nom d'utilisateur bien connu que les robots automatisés ciblent spécifiquement avec des tentatives de connexion par force brute. Si vous l'activez, restreignez l'accès SSH aux adresses IP de confiance via le pare-feu / les règles d'accès IP, et utilisez un mot de passe fort et unique ou une authentification par clé SSH. Une fois que vous n'avez plus besoin de la connexion SSH root directe, rétablissezPermitRootLoginsurnoouprohibit-password.
-
Remarques importantes
- La gestion et la sécurisation de l'accès root relèvent entièrement de votre système d'exploitation invité et sont de votre responsabilité. Cela ne fait pas partie de la couche gérée par la plateforme de votre Cloud Server non géré.
- Un redéploiement réinstalle le système d'exploitation à partir de zéro, ce qui réinitialise le compte root à son état verrouillé par défaut et
PermitRootLoginà sa valeur par défaut.
- La gestion et la sécurisation de l'accès root relèvent entièrement de votre système d'exploitation invité et sont de votre responsabilité. Cela ne fait pas partie de la couche gérée par la plateforme de votre Cloud Server non géré.
-
Dépannage
Si les étapes ci-dessus ne fonctionnent pas, voici quelques autres points à vérifier :
-
"passwd: Authentication token manipulation error"
Vérifiez que le système de fichiers n'est pas plein ou monté en lecture seule (df -h).
-
Connexion root toujours refusée après avoir modifié
PermitRootLogin
Confirmez que vous avez redémarré le service SSH (sudo systemctl restart sshd), et vérifiez l'absence de fichier de remplacement en conflit dans/etc/ssh/sshd_config.d/.
-
"Permission denied (publickey)" lors de la connexion en tant que root via SSH
Si votre serveur n'accepte que l'authentification par clé, ajoutez votre clé SSH à/root/.ssh/authorized_keys, ou assurez-vous que l'authentification par mot de passe est également autorisée si c'est ainsi que vous comptez vous connecter.
-
Verrouillé après avoir modifié
sshd_config
Utilisez la console Web dans oneHome, qui ne nécessite pas SSH, pour corriger le fichier de configuration et redémarrer le service SSH.
-
"passwd: Authentication token manipulation error"
Articles liés :