Réinitialiser le mot de passe de l'utilisateur root dans ESXi 7.x
⚠️ AVIS IMPORTANT DE COMPATIBILITÉ
Cette méthode de réinitialisation du mot de passe root dépend de la version ESXi et n'est pas prise en charge sur toutes les versions.
Versions prises en charge :
- ESXi 6.0, 6.5, 6.7 (toutes les builds)
- ESXi 7.0 (GA)
- ESXi 7.0 Update 1
- ESXi 7.0 Update 2
Non prises en charge :
- ESXi 7.0 Update 3 et ultérieures (l'archive de configuration
local.tgzest chiffrée et stockée souslocal.tgz.ve) - ESXi 8.0 et versions ultérieures
Raison : À partir de ESXi 7.0 Update 3, VMware a introduit le chiffrement des archives de configuration, ce qui empêche la modification directe du fichier /etc/shadow via LiveCD.
Pour les versions chiffrées (7.0 U3+, 8.0+), utilisez des méthodes alternatives :
- Utilisation de
crypto-utilsur un autre hôte ESXi (nécessite la création d'une VM ESXi imbriquée) - Récupération via Host Profiles (nécessite vCenter)
- Réinstallation de ESXi tout en préservant les datastores VMFS (dernier recours)
Vérifiez la version ESXi installée avant de continuer.
Parfois, pour une raison ou une autre, vous pouvez ne pas être en mesure de vous authentifier sur la console de gestion ESXi parce que vous ne disposez pas d'un mot de passe à jour. Cela peut être dû à un piratage du système, une panne du système, un mot de passe perdu, ou si vous avez hérité d'ESXi sans documentation ni contrôles administratifs appropriés. C'est une situation désagréable et il faudra y remédier. Peut-être pas immédiatement, mais quand quelque chose tourne mal et que vous devez intervenir sur un système qui fonctionnait normalement jusqu'à présent. Cette instruction est écrite pour de tels cas.
Il existe plusieurs façons de réinitialiser le mot de passe. Cependant, celle décrite dans cet article est universelle et fonctionnera non seulement pour les versions 7.x mais aussi pour les versions antérieures. Elle a été testée en pratique et fonctionne dans la plupart des cas. Commençons.
Prérequis
Nous devons d'abord démarrer depuis n'importe quel Live CD. Il peut s'agir d'une image d'installation Ubuntu ou, comme dans notre cas, Finnix. Il s'agit d'une distribution basée sur Debian avec de nombreuses capacités de diagnostic et de récupération après sinistre.
Après le démarrage, vous verrez une invite de commande :

Si votre serveur est situé à distance et que vous y êtes connecté via IP-KVM, il n'est pas très pratique de travailler dans ce mode en raison du temps de réponse élevé de la console. Pour éviter cela, vous pouvez configurer un serveur SSH. Si ce n'est pas un problème, vous pouvez ignorer cette étape.
# définir le mot de passe root pour le système live passwd # démarrer le serveur ssh service ssh start
Vous pouvez ensuite vous connecter au serveur en utilisant votre client SSH préféré ou depuis la console :
ssh root@1.2.3.4
Trouver la partition ESXi
Nous devons maintenant déterminer quel disque contient la partition dont nous avons besoin. Pour ce faire, déterminons d'abord quels disques nous avons.
root@0:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 377.2M 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs sda 8:0 1 3.6T 0 disk └─sda1 8:1 1 3.6T 0 part sdb 8:16 1 3.6T 0 disk └─sdb1 8:17 1 3.6T 0 part sr0 11:0 1 455M 0 rom /run/live/medium zram0 252:0 0 62.8G 0 disk [SWAP] nvme1n1 259:0 0 476.9G 0 disk └─nvme1n1p1 259:2 0 476.9G 0 part nvme0n1 259:1 0 476.9G 0 disk ├─nvme0n1p1 259:3 0 4M 0 part ├─nvme0n1p2 259:4 0 4G 0 part ├─nvme0n1p3 259:5 0 469.6G 0 part ├─nvme0n1p5 259:6 0 250M 0 part ├─nvme0n1p6 259:7 0 250M 0 part ├─nvme0n1p7 259:8 0 110M 0 part ├─nvme0n1p8 259:9 0 286M 0 part └─nvme0n1p9 259:10 0 2.5G 0 part
Notre principal critère de recherche est une partition de disque de 250 Mo. Comme nous pouvons le voir, le disque nvme0n1 contient une telle partition, examinons-la de plus près :
fdisk -l /dev/nvme0n1

Notre cible est la partition qui commence au secteur 8224 et fait 250 Mo. C'est la partition qui contient les données dont nous avons besoin.
Extraction des fichiers de configuration
Pour continuer, créons 2 répertoires : un pour monter le disque et un autre pour les données que nous devons modifier.
mkdir /mnt/vmware && mkdir /tmp/vmware
Monter la partition trouvée
mount /dev/nvme0n1p5 /mnt/vmware
Il y a beaucoup de choses à l'intérieur, mais nous avons besoin d'un fichier spécifique

Il doit être décompressé dans le répertoire créé précédemment
tar -xf /mnt/vmware/state.tgz -C /tmp/vmware/ tar -xf /tmp/vmware/local.tgz -C /tmp/vmware/ rm /tmp/vmware/local.tgz
Maintenant, si nous allons dans /tmp/vmware/ et parcourons son contenu, nous y trouverons le répertoire etc familier.
Modification du fichier Shadow
Ensuite, nous devons modifier le fichier shadow et en supprimer le hachage du mot de passe root. Ainsi, ESXi pensera que le mot de passe utilisateur est vide après notre manipulation.
nano /tmp/vmware/etc/shadow
Cela doit être fait avec soin. Il est nécessaire de supprimer le contenu entre le premier et le deuxième deux-points

et cela devrait ressembler à ceci

Restauration et redémarrage
Enregistrez le fichier avec la touche F3. Cela complète la partie la plus importante. Ensuite, vous devez tout emballer et remettre en place là où vous l'avez trouvé.
cd /tmp/vmware/ tar -czf local.tgz etc tar -czf state.tgz local.tgz mv state.tgz /mnt/vmware/
Démonter le lecteur ESXi et redémarrer.
umount /mnt/vmware/ reboot
Après le redémarrage, connectez-vous à l'interface web ESXi en tant qu'utilisateur root avec un mot de passe vide et changez-le pour celui dont nous avons besoin en utilisant les moyens standard via le menu en haut à droite.
Problèmes potentiels et solutions
- Erreur de montage de partition : Assurez-vous d'avoir spécifié le chemin correct vers le disque système. Exécutez
lsblkpour afficher la structure des partitions. - Fichier Shadow manquant : Vérifiez l'exactitude du chemin
/tmp/etc/shadow. Assurez-vous que les archivesstate.tgzetlocal.tgzont été décompressées avec succès. - Mot de passe non réinitialisé : Vérifiez que les modifications ont été enregistrées et que les fichiers ont été reconstruits avec succès et déplacés vers leur emplacement d'origine.
C'est tout ! L'objectif est atteint ! Nous vous recommandons de sauvegarder votre nouveau mot de passe et de ne plus jamais le perdre !