Comment réinitialiser le mot de passe root sur VMware ESXi
Nous allons voir dans cet article comment réinitialiser le mot de passe root sur ESXi. Si jamais vous avez oublié votre mot de passe root ou encore si vous reprenez la main sur un serveur et qu’aucune passation n’a été effectuée, il est possible que vous soyez bien embêté sans ce mot de passe root.
Selon Vmware, la seul solution est la réinstallation, mais bien évidemment c’est faux et une solution existe pour supprimer le mot de passe root.
La manipulation est assez simple, il vous faudra cependant un accès physique à la machine (ou bien avec un KVM connecté). Nous allons depuis un ISO ou DVD de boot sous Linux, modifier le fichier qui contient notre mot de passe. Ce fichier est /etc/shadow et contient l’ensemble des mots de passe utilisateurs (dont root) et leur mot de passe (chiffré bien évidement).
ESXi utilise plusieurs partitions de disque, dont une qui est appelée bootbank. Cette partition contient les fichiers de base de l’hyperviseur et la configuration de l’hôte, qui est ensuite chargée en mémoire. La partition, par défaut est généralement /dev/sda5.
Le fichier /etc/shadow que nous recherchons se trouve dans une archive compressée appelée state.tgz, située sous /dev/sda5. Pour supprimer le mot de passe root il va être nécessaire de procéder aux étapes suivantes :
- Booter sur un Live CD Linux sur notre hôte ESXi
- Monter /dev/sda5 et copier state.tgz dans un dossier temporaire
- Décompresser state.tgz et éditer le fichier shadow pour supprimer le mot de passe
- Recompresser l’archive et remplacer le fichier state.tgz par le nouveau
- Démonter /dev/sda5 puis redémarrer le superviseur ESXi
Réinitialiser le mot de passe root sur ESXi
Pour commencer, télécharger un CD de boot linux (ubuntu, Gparted ou tout autre live CD), dans mon cas j’ai utilisé Gparted.
Télécharger GPartedVous pouvez ensuite rendre bootable votre clé USB ou graver l’ISO sur un CD / DVD.
Depuis le serveur ESXi, booter sur votre live CD ou clé USB bootable.
Profitons d’avoir Gparted, pour vérifier que le sda5 correspond bien à la partition qui nous intéresse.
Une fois que l’on a vérifié ça, on peut fermer Gparted pour ouvrir un Terminal. Depuis ce terminal, effectuer les commandes suivantes :
sudo su mkdir /boot /temp mount /dev/sda5 /boot cd /boot cp state.tgz /temp cd /temp tar -xf state.tgz tar -xf local.tgz rm * .tgz cd etc
Maintenant que l’on à copié et dézippé le fichier state.gz, on va pouvoir éditer le fichier « shadow » qui comporte les identifiants et mot de passe de notre hyperviseur.
Pour lancer l’éditeur, tapez la commande suivante :
vi shadow
Maintenant, supprimer l’ensemble de votre mot de passe chiffré. Cela devrait ressembler à ceci :
Et une fois supprimé, à ceci :
Vous pouvez ensuite enregistrer le fichier en tapant « :wq »
Terminé en recompilant le fichier shadow et en le copiant sur la partition qui va bien. Voici les commandes :
cd .. tar -cf local.tgz etc/ tar -cf state.tgz local.tgz mv state.tgz /boot umount /boot reboot
Une fois votre serveur ESXi redémarré, vous serez en mesure de vous authentifier avec le compte root sans aucun mot de passe.