Retourner sur le site

Réinitialiser le mot de passe root

Récupérez l'accès root sur un VPS HolyCloud : réinitialisation via le panneau, mode rescue, chroot et bonnes pratiques post-récupération.

Réinitialiser le mot de passe root

Si vous avez perdu le mot de passe root ou si l'authentification SSH par clé seule est mal configurée, vous devez réinitialiser les identifiants sans réinstaller tout le système. Sur un VPS Linux HolyCloud, la méthode recommandée passe par l'espace client ; ce guide détaille aussi la procédure mode rescue pour les cas avancés.

Prérequis

  • Accès à l'espace client HolyCloud (propriétaire du VPS)
  • Sauvegarde ou snapshot récent si vous manipulez les disques en mode rescue
  • Pour la méthode rescue : image Rescue ou Live CD proposée dans le panneau, accès console (VNC/noVNC)
  • Noter l'IP du VPS et prévoir une fenêtre de maintenance (redémarrage nécessaire)

Attention : changer le mot de passe root n'efface pas une mauvaise configuration sshd (clés uniquement, port modifié). Gardez une session SSH ouverte ou la console HolyCloud pendant les changements SSH.

Étape 1 : réinitialisation via le panneau HolyCloud (recommandé)

  1. Espace client → VPS → sélectionnez l'instance.
  2. Section Mot de passe / Réinitialiser le mot de passe root (libellé selon l'interface).
  3. Générez ou saisissez un mot de passe fort (20+ caractères, lettres, chiffres, symboles).
  4. Validez ; le panneau applique le changement (parfois après un redémarrage court).
  5. Connectez-vous :
ssh root@IP_DU_VPS

Puis changez à nouveau le mot de passe si le panneau l'a affiché en clair :

passwd

Étape 2 : vérifier que SSH accepte encore les mots de passe

Si PasswordAuthentication est à no dans /etc/ssh/sshd_config, le nouveau mot de passe ne suffira pas. Via console VNC HolyCloud (sans SSH) :

sudo grep -E '^PasswordAuthentication|^PermitRootLogin' /etc/ssh/sshd_config

Temporairement (console uniquement) :

sudo sed -i 's/^PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo systemctl reload ssh

Reconnectez-vous en SSH, déployez une clé SSH, puis resécurisez (voir « Sécuriser SSH »).

Étape 3 : mode rescue — monter le disque système

Quand le panneau ne suffit pas ou le système ne démarre plus :

  1. Panneau HolyCloud → boot sur Rescue (Debian/Ubuntu live).
  2. Redémarrez le VPS, ouvrez la console.
  3. Identifiez le volume (souvent /dev/sda1 ou /dev/vda1) :
lsblk -f
fdisk -l

Montez la racine du système installé :

mount /dev/vda1 /mnt
ls /mnt/etc/os-release

Si LVM ou partition séparée pour /boot :

vgscan
vgchange -ay
mount /dev/mapper/vg0-root /mnt
mount /dev/vda1 /mnt/boot 2>/dev/null || true

Étape 4 : chroot et passwd en mode rescue

mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev/pts /mnt/dev/pts
chroot /mnt
passwd root
exit

Démontez proprement :

umount /mnt/dev/pts
umount /mnt/dev /mnt/proc /mnt/sys
umount /mnt

Reboot sur le disque normal dans le panneau HolyCloud.

Étape 5 : réinitialiser le mot de passe d'un utilisateur non-root

En rescue ou en session normale :

passwd deploy

Vérifier les droits sudo :

groups deploy
grep deploy /etc/sudoers /etc/sudoers.d/* 2>/dev/null

Étape 6 : après récupération — durcissement minimal

passwd -l root 2>/dev/null || true
# Ne verrouillez root que si un utilisateur sudo + clé SSH fonctionne
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N ""
# Déployez la clé publique sur le VPS
apt update && apt upgrade -y

Activez une clé pour votre admin et testez avant de couper le mot de passe :

ssh -i ~/.ssh/id_ed25519 deploy@IP_DU_VPS

Vérification

ssh root@IP_DU_VPS 'echo OK && id'
sudo grep '^root:' /etc/shadow | cut -d: -f2
# Un ! ou * indique un compte verrouillé ; un hash $y$ ou $6$ indique un mot de passe défini

Test console : connexion root avec le nouveau mot de passe depuis le panneau VNC si SSH échoue encore.

Besoin d'aide HolyCloud

  • Mot de passe panneau appliqué mais SSH refuse : PasswordAuthentication, PermitRootLogin, port SSH personnalisé, UFW — envoyez sshd -T | grep -E 'password|permitroot|port'
  • Rescue : partition introuvable — capture lsblk -f et le schéma de partitions du panneau
  • Support HolyCloud : ID du VPS, heure de la réinitialisation, méthode utilisée (panneau vs rescue)