Un mot de passe root n’est jamais « retrouvé » : il n’est pas stocké en clair, même par nous. Il est remplacé. Toutes les méthodes ci-dessous reviennent à la même idée : obtenir temporairement un accès privilégié à la machine, puis exécuter passwd.
Elles sont classées de la plus simple à la plus technique. Essayez-les dans l’ordre.
Comment réinitialiser un mot de passe root perdu depuis l’espace client ?
C’est la voie normale, et elle ne demande aucun accès préalable à la machine.
- Ouvrez votre service dans l’espace client.
- Onglet Accès & Sécurité, saisissez un nouveau mot de passe, validez.
- Redémarrez la machine.
Le redémarrage n’est pas optionnel sur un VPS KVM : le nouveau mot de passe est déposé dans la configuration d’initialisation de la VM et n’est lu qu’au démarrage suivant. Sans redémarrage, rien ne change.
Cette méthode couvre la grande majorité des cas. Passez à la suivante uniquement si, après redémarrage, le nouveau mot de passe est toujours refusé, ce qui arrive sur une machine dont la configuration d’initialisation a été désactivée ou retirée après l’installation.
Comment réinitialiser le mot de passe root via GRUB et la console de secours ?
L’onglet Console de votre service ouvre l’écran de la machine, comme si vous étiez devant elle avec un clavier. C’est le seul accès qui fonctionne encore quand SSH est hors jeu.
Le principe : au démarrage, on demande au noyau de lancer un shell à la place du système complet. On obtient un accès root sans authentification, le temps de changer le mot de passe.
Étape 1 : afficher le menu GRUB
Ouvrez la Console, puis redémarrez la machine depuis l’espace client et gardez la console visible. Au tout début du démarrage, maintenez Maj ou appuyez plusieurs fois sur Échap pour faire apparaître le menu GRUB.
C’est le moment le plus délicat : la fenêtre est courte. N’hésitez pas à recommencer.
Étape 2 : modifier la ligne de démarrage
Dans le menu :
- sélectionnez l’entrée Linux habituelle ;
- appuyez sur
epour l’éditer ; - repérez la ligne qui commence par
linux,linux16oulinuxefi; - à la fin de cette ligne, ajoutez :
rw init=/bin/bash
Si la ligne contient déjà ro, remplacez-le par rw.
Démarrez avec Ctrl + X (ou F10).
Cette modification est temporaire : elle n’est pas enregistrée et disparaît au redémarrage suivant.
Étape 3 : vérifier que la racine est accessible en écriture
Vous obtenez une invite de commandes. Vérifiez :
mount | grep " on / "
Si vous lisez ro, remontez la racine en écriture :
mount -o remount,rw /
Sans cette étape, passwd échouera : le fichier des mots de passe ne peut pas être modifié sur un système en lecture seule.
Étape 4 : changer le mot de passe
passwd root
Saisissez puis confirmez. Sur Ubuntu, le compte root est souvent verrouillé par défaut : réinitialisez plutôt le mot de passe de votre utilisateur administrateur.
passwd nom_utilisateur
Étape 5 : redémarrer proprement
Le système n’ayant pas démarré normalement, les commandes habituelles peuvent ne pas répondre. Essayez d’abord :
sync
exec /sbin/init
Si la machine ne repart pas :
sync
reboot -f
Le sync n’est pas décoratif : il force l’écriture sur disque des modifications encore en mémoire. Sans lui, le changement de mot de passe peut être perdu au redémarrage.
Comment faire sur Rocky, AlmaLinux, Fedora ou RHEL ?
Sur ces distributions, la méthode recommandée utilise rd.break plutôt que init=/bin/bash. Dans GRUB, ajoutez à la fin de la ligne du noyau :
rd.break
Puis, dans le shell obtenu :
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
Le fichier /.autorelabel demande à SELinux de recalculer les étiquettes de sécurité au démarrage suivant. Sans lui, le système peut refuser les connexions malgré un mot de passe correct. Ce démarrage-là sera plus long que d’habitude, c’est attendu.
Que faire si la réinitialisation échoue ?
Repérez d’abord le symptôme exact : chacun des cas ci-dessous a une cause précise et une correction connue.
passwd: Authentication token manipulation error
La racine est montée en lecture seule. Reprenez :
mount -o remount,rw /
Le mot de passe est bon mais SSH refuse root
Le mot de passe n’est pas en cause : la configuration SSH interdit la connexion directe en root. Vérifiez, depuis la console :
grep -E "^PermitRootLogin|^PasswordAuthentication" /etc/ssh/sshd_config
Connectez-vous plutôt avec un utilisateur sudo. C’est d’ailleurs la configuration à préférer.
Le menu GRUB ne s’affiche jamais
Certaines images démarrent trop vite pour laisser une chance au clavier. Dans ce cas, ouvrez un ticket : nous pouvons intervenir sur la machine. Le montage d’une image de secours externe n’est pas accessible depuis l’espace client.
Vous préférez repartir de zéro
Si la machine ne contient pas encore de données, l’onglet Réinstallation est plus rapide et plus sûr que toute manipulation de démarrage. Il efface le disque et réinstalle le système avec un mot de passe que vous choisissez.
Que vérifier après avoir récupéré l’accès ?
Une perte de mot de passe est un bon moment pour vérifier que personne d’autre n’est passé par là.
find /root /home -name authorized_keys -type f -print
last -a
La première commande liste les clés SSH autorisées : toute clé que vous ne reconnaissez pas doit être retirée. La seconde montre les dernières connexions.
Mettez ensuite le système à jour, et basculez sur une authentification par clé SSH pour ne plus dépendre d’un mot de passe.