Vous avez perdu le mot de passe root de votre VPS Linux et SSH refuse toute connexion ? Le mode rescue est le seul moyen de reprendre le contrôle sans réinstaller votre serveur. En quelques minutes, vous montez le disque système dans un environnement minimal, utilisez chroot pour entrer dans votre installation, puis redéfinissez le mot de passe root avec la commande passwd depuis un terminal Linux. Ce tutoriel détaille chaque étape, du démarrage en rescue jusqu'à la vérification de l'accès SSH restauré, en évitant les erreurs classiques qui bloquent les administrateurs VPS lors de cette procédure.
Comprendre le mode rescue d'un VPS
Un VPS en mode rescue démarre sur un système d'exploitation Unix minimal fourni par l'hébergeur, indépendamment du système virtuel installé sur le disque principal. Votre environnement habituel (Ubuntu, Debian, Rocky Linux...) n'est pas encore démarré : le disque principal est simplement visible comme un disque de données. Vous disposez d'un accès root complet à cet environnement minimal, ce qui permet de monter les répertoires du disque système et d'y effectuer des opérations de maintenance impossibles depuis le système en cours d'exécution.
Cette approche est nécessaire parce que vous ne pouvez pas modifier les mots de passe d'un système Linux actif sans en connaître le mot de passe actuel. Le mode rescue contourne cette contrainte en accédant au fichier de configuration /etc/shadow depuis l'extérieur. La commande sudo passwd root ne suffit pas lorsque vous avez perdu les credentials root : il vous faut un accès extérieur au volume.
Sur un VPS Linux ElypseCloud, le mode rescue est déclenché depuis l'espace client : le serveur virtuel redémarre sur une image Debian ou Ubuntu légère, et vous recevez les identifiants de connexion SSH par e-mail ou dans l'interface. La procédure est identique quelle que soit la distribution installée (Ubuntu, Debian, CentOS, Rocky Linux, Fedora).
Activer le mode rescue depuis le panneau admin
Commencez par vous connecter à votre espace client ElypseCloud et accédez à l'admin de votre VPS. La procédure standard est la suivante :
- Sélectionnez votre VPS dans la liste des services actifs.
- Cliquez sur « Redémarrer en mode rescue » (ou l'équivalent selon l'interface).
- Choisissez l'image rescue proposée, en général une Debian ou Ubuntu minimale.
- Confirmez le redémarrage. Votre VPS s'arrête puis redémarre sur l'image rescue.
- Les identifiants de connexion SSH temporaires vous sont communiqués par e-mail ou affichés dans l'interface. Notez le nom d'utilisateur et le mot de passe avant de continuer.
Une fois le mode rescue actif, connectez-vous en SSH depuis votre terminal local. Le nom d'utilisateur est généralement root et le mot de passe vous a été fourni par l'interface :
ssh root@<adresse-ip-de-votre-vps>
Vous êtes maintenant dans l'environnement rescue minimal. Votre disque principal est visible comme un périphérique bloc, mais pas encore monté. La RAM disponible est celle de votre VPS, et le shell est un bash standard.
Monter le disque système et entrer en chroot
Identifiez le périphérique bloc correspondant à votre partition racine. La commande suivante liste tous les disques et partitions visibles avec leur type de système de fichiers :
lsblk -f
Exemple de sortie typique dans un terminal rescue :
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 a1b2c3d4-e5f6-7890-abcd-ef1234567890
└─sda2 swap 12345678-abcd-ef01-2345-6789abcdef01
sdb ext4 rescue-root /
Dans cet exemple, sda1 est la partition racine de votre VPS. Créez un point de montage et montez-la :
mkdir -p /mnt/rescue
mount /dev/sda1 /mnt/rescue
Si votre système dispose d'une partition /boot séparée (visible dans lsblk), montez-la également :
mount /dev/sda2 /mnt/rescue/boot
Montez ensuite les systèmes de fichiers virtuels nécessaires pour que les scripts et les paquets du chroot fonctionnent correctement :
mount --bind /proc /mnt/rescue/proc
mount --bind /sys /mnt/rescue/sys
mount --bind /dev /mnt/rescue/dev
Entrez maintenant dans l'environnement chroot. Cette commande lance un shell bash à l'intérieur de votre installation Linux :
chroot /mnt/rescue /bin/bash
Le prompt change pour indiquer que vous êtes maintenant dans votre système habituel. Les scripts, les binaires et les logs que vous consultez sont ceux de votre installation réelle, pas ceux de l'environnement rescue.
Réinitialiser le mot de passe root
Depuis l'environnement chroot, lancez la commande suivante pour modifier le mot de passe root du système installé sur votre VPS :
passwd root
Le shell vous demande de saisir deux fois les nouveaux mots de passe. Choisissez un mot de passe fort : au moins 16 caractères, mêlant majuscules, minuscules, chiffres et caractères spéciaux. Le nom du fichier mis à jour est /etc/shadow ; vérifiez qu'il contient bien le nouveau hash :
grep '^root:' /etc/shadow
La ligne ne doit pas commencer par root:*: ni par root:!: (ces préfixes indiquent un compte désactivé). Un hash valide commence par root:$6$ (SHA-512) ou root:$y$ (yescrypt, utilisé par les distributions récentes comme Ubuntu 22.04+).
Si vous souhaitez réactiver la connexion SSH par mot de passe, vérifiez le fichier de configuration SSH depuis le chroot :
grep 'PasswordAuthentication' /etc/ssh/sshd_config
Si la valeur est no et que vous souhaitez l'autoriser temporairement, changez-la en yes puis désactiver cette option dès que l'accès est restauré, pour des raisons de sécurité SSH.
Quitter le rescue et redémarrer normalement
Sortez du chroot avec la commande exit, puis démontez proprement tous les systèmes de fichiers dans l'ordre inverse du montage :
exit
umount /mnt/rescue/proc
umount /mnt/rescue/sys
umount /mnt/rescue/dev
umount /mnt/rescue
Retournez dans l'espace client ElypseCloud et désactivez le mode rescue : cliquez sur « Redémarrer normalement » ou « Quitter le mode rescue ». Votre VPS redémarre sur son système habituel.
Attendez 30 à 60 secondes que le démarrage se termine avant de tenter la connexion SSH. Certains services et scripts de démarrage prennent quelques instants à s'initialiser.
Vérifier l'accès SSH restauré
Testez la connexion SSH depuis votre terminal local avec le nouveau mot de passe root :
ssh root@<adresse-ip-de-votre-vps>
En cas d'échec de connexion, vérifiez les points suivants :
- Le serveur SSH est-il actif ? Si vous avez accès à une console VNC ou KVM depuis l'espace client, connectez-vous et exécutez la commande suivante :
systemctl status sshd. Utilisezsystemctl restart sshdsi le service est arrêté. - Le firewall bloque-t-il le port 22 ? Un pare-feu configuré avec UFW ou nftables peut bloquer les connexions SSH. Si nécessaire, repassez en mode rescue et modifiez les règles de firewall depuis le chroot.
- L'authentification par mot de passe est-elle autorisée ? Vérifiez la directive
PasswordAuthenticationdans le fichier de configuration/etc/ssh/sshd_configdepuis le chroot rescue.
Si votre VPS est inaccessible même depuis la console KVM et que l'adresse IP ne répond pas, consultez le guide de diagnostic réseau VPS en 30 secondes pour isoler la cause du problème réseau.
Cas particuliers : LVM, disques multiples, clé privée SSH
Partition racine sur un volume LVM
Si votre serveur virtuel utilise LVM (Logical Volume Manager), la commande lsblk affichera des volumes logiques plutôt que des partitions directes. Activez les groupes de volumes depuis le rescue dans le terminal :
vgscan
vgchange -ay
Les volumes logiques apparaissent ensuite dans les répertoires /dev/<nom-du-vg>/<nom-du-lv>. Montez le volume racine avec la même commande qu'une partition standard :
mount /dev/vg0/root /mnt/rescue
Réinitialiser la clé privée SSH autorisée
Le mode rescue permet aussi de remplacer une clé privée SSH inutilisable ou de mettre à jour les clés autorisées. Depuis le chroot, éditez le nom du fichier /root/.ssh/authorized_keys pour y coller votre nouvelle clé publique. Générez la paire de clés sur votre machine locale avec ce script de génération :
ssh-keygen -t ed25519 -C "vps-restauration"
Copiez le contenu de ~/.ssh/id_ed25519.pub dans /root/.ssh/authorized_keys de votre VPS (depuis le chroot). Cette méthode est préférable à la réactivation du login par mot de passe si votre politique de sécurité l'exige.
Disque chiffré avec LUKS
Si votre partition racine est chiffrée avec LUKS, vous devez déverrouiller le conteneur avant de le monter. Exécutez la commande suivante depuis le terminal rescue :
cryptsetup luksOpen /dev/sda1 crypt-rescue
mount /dev/mapper/crypt-rescue /mnt/rescue
Cette opération nécessite la phrase de passe LUKS. Si vous l'avez également perdue, une réinstallation du VPS est inévitable : les données chiffrées ne sont pas récupérables sans la clé de déchiffrement.
Sécuriser son VPS après l'intervention
Après avoir restauré l'accès à votre serveur virtuel Linux, profitez-en pour renforcer la sécurité côté admin :
- Désactivez l'authentification par mot de passe SSH et utilisez exclusivement les clés SSH sécurisées : c'est la mesure la plus efficace contre les attaques par force brute sur le port 22.
- Installez Fail2ban pour bloquer automatiquement les adresses IP qui accumulent des échecs de connexion. Consultez le guide Fail2ban sur VPS Linux.
- Auditez les connexions passées avec
lastetlastbpour détecter si votre VPS a été compromis pendant la période sans accès. - Mettez à jour tous les paquets dès que l'accès est restauré :
apt update && apt upgrade -y(Debian/Ubuntu) oudnf upgrade -y(Rocky Linux/Fedora). - Faites un backup de votre configuration dès que le serveur est de nouveau opérationnel.
Si vous gérez plusieurs serveurs Linux, envisagez un suivi des tentatives de connexion SSH dans les logs pour détecter rapidement une activité anormale. Le mode rescue est une procédure d'urgence puissante, mais la meilleure stratégie reste d'éviter d'en avoir besoin grâce à une gestion rigoureuse des accès et des sauvegardes dès la création de votre VPS Linux.
Besoin d'un VPS Linux fiable avec accès rescue intégré et support réactif ?
Découvrir les VPS Linux ElypseCloud