Vous avez égaré votre mot de passe ou un vilain pirate vous a subtilisé votre infrastructure?
Pas de panique, la solution se trouve dans Tux le manchot, autrement dit : Linux.
Un simple Live CD permet de modifier votre login « root » de VMware ESXi 5.x
Les étapes pour le changement du mot de passe
Il est important de bien comprendre les différentes étapes avant de se lancer :
- Télécharger une distribution Linux par exemple : Ubuntu LTS 13.04.
- Lancer le Live CD avec l’interface graphique.
- Lister l’ensemble des partitions sur votre disque.
- Isoler et monter la partition racine de votre ESXi.
- Décompresser les archives importantes.
- Modifier le fichier utilisateur de l’hyperviseur.
- Recompresser cette nouvelle archive et supprimer l’ancienne.
- Démonter la partition racine de notre ESXi.
- Changer le mot de passe sur le client Vsphere.
Télécharger une distribution Linux : Ubuntu LTS 13.04
La méthode fonctionne avec n’importe quelle distribution. Cependant j’utilise Ubuntu : pourquoi ?
Ubuntu propose « gparted » ce qui nous permettra de trouver plus facilement notre partition racine.
Pour télécharger la distribution Ubuntu : http://www.ubuntu-fr.org/telechargement?action=dl
Lancer le Live CD avec l’interface graphique
Insérer et lancer votre Live CD sur votre machine où VMware ESXi est installé.
Vous devriez voir apparaître ceci et cliquez sur « Essayer Ubuntu » :
Lister l’ensemble des partitions sur votre disque
Appuyer sur la touche « Super » ou cliquer sur le lanceur en haut à gauche puis rechercher « gparted« :
Ensuite sélectionner l’application gparted qui permet de lister facilement nos partitions :
sda1 est utilisé pour le démarrage du système ESXi 5.x.
sda5 est utilisé pour l’ensemble du système ESXi 5.x (autrement dit la racine).
sda6 est utilisé pour une copie de sda5 en cas de soucis.
sda8 est utilisé pour les VMware Tools, détient les VMware Tools ainsi que d’autre choses.
sda2 est utilisé pour la sauvegarde des fichiers journaux.
Isoler et monter la partition racine de votre ESXi
Dans le terminal, nous allons isoler /dev/sda5 et la monter dans un dossier :
sudo su
mkdir /mnt/esxi/
mount /dev/sda5/ /mnt/esxi/
cd /mnt/esxi/
Dans le dossier /mnt/esxi/ nous avons l’ensemble de la partition /dev/sda5 avec les fichiers suivants :
a.b00 imgdb.tgz net_e100.v01 sata_sat.v01 scsi_mpt.v00
ata_pata.v00 ipmi_ipm.v00 net_enic.v00 sata_sat.v02 scsi_mpt.v01
ata_pata.v01 ipmi_ipm.v01 net_forc.v00 sata_sat.v03 scsi_mpt.v02
ata_pata.v02 ipmi_ipm.v02 net_igb.v00 sata_sat.v04 scsi_qla.v00
ata_pata.v03 jumpstrt.gz net_ixgb.v00 sb.v00 scsi_qla.v01
ata_pata.v04 k.b00 net_mlx4.v00 scsi_aac.v00 state.tgz
ata_pata.v05 lpfc.v00 net_mlx4.v01 scsi_adp.v00 s.v00
ata_pata.v06 lsi_mr3.v00 net_nx_n.v00 scsi_aic.v00 tboot.b00
ata_pata.v07 lsi_msgp.v00 net_tg3.v00 scsi_bnx.v00 uhci_usb.v00
b.b00 misc_cni.v00 net_vmxn.v00 scsi_bnx.v01 user.b00
block_cc.v00 misc_dri.v00 ohci_usb.v00 scsi_fni.v00 useropts.gz
boot.cfg mtip32xx.v00 onetime.tgz scsi_hps.v00 weaselin.t00
chardevs.b00 net_be2n.v00 qlnative.v00 scsi_ips.v00 xlibs.v00
ehci_ehc.v00 net_bnx2.v00 rste.v00 scsi_lpf.v00 xorg.v00
elxnet.v00 net_bnx2.v01 sata_ahc.v00 scsi_meg.v00
esx_dvfi.v00 net_cnic.v00 sata_ata.v00 scsi_meg.v01
ima_qla4.v00 net_e100.v00 sata_sat.v00 scsi_meg.v02
Décompresser les archives importantes
Dans les fichiers listés ci-dessus nous avons besoin de « state.tgz » qui contient une archive.
Cette archive se nomme « local.tgz » et contient le dossier « etc » avec le fameux fichier « shadow« .
tar xvzf state.tgz
tar xvzf local.tgz
ls
Le dossier « etc » apparaît après la décompression des deux fichiers :
cd etc/
ls
Le contenu du dossier « etc » :
chkconfig.db hosts resolv.conf shadow vmsyslog.conf vmware
dhclient-vmk0.leases random-seed security ssh vmsyslog.conf.d
Modifier le fichier utilisateur de l’hyperviseur.
Nous allons maintenant devoir modifier le fichier qui contient l’utilisateur et le mot de passe d’ESXi.
nano shadow
Voici l’intérieur du fichier avec l’ensemble des utilisateurs par défaut sur l’ESXi 5.x :
root:$6$1yScI5Q5$aZmwdXKEisjY3n1U2Ct01UUlql1S0dGQlrrPv1/3JOWmWkLOM$km.Ib3Pge3ymRZms0E5YU.n82y.j0:13358:0:99999:7:::
nobody:*:13358:0:99999:7:::
nfsnobody:!!:13358:0:99999:7:::
dcui:*:13358:0:99999:7:::
daemon:*:13358:0:99999:7:::
vpxuser:*:14875:0:99999:7:::
On va pouvoir supprimer le mot de passe que l’on avait perdu, pour cela modifier la ligne suivante de façon à enlever le mot de passe crypté :
root::13358:0:99999:7:::
Pour enregistrer et sortir de l’éditeur « nano« , appuyer simultanément sur « Ctrl + x« .
Recompresser cette nouvelle archive et supprimer l’ancienne.
Maintenant que notre fichier shadow est modifié il nous faut recompresser ce fichier dans l’archive:
cd /mnt/esxi/
tar czf local.tgz etc
tar czf state.tgz local.tgz
rm -r local.tgz etc
Les paramètres de la commande « tar » permettent d’archiver « etc » dans « local.tgz » et ensuite d’archiver « local.tgz » dans « state.tgz » afin de retrouver l’archive d’origine « state.tgz » avec le « shadow » que l’on vient de modifier.
Démonter la partition racine de notre ESXi
Ne pas oublier de démonter proprement votre partition racine :
cd /
umount /dev/sda5/
Et redémarrer votre système :
reboot
Changer le mot de passe sur le client vSphere
Connectez vous avec votre client vSphere sur votre ESXi 5.x sans mot de passe « root », et changez votre mot de passe dans le menu « utilisateurs et groupes locaux » comme ci-dessous :
Bravo vous avez retrouvé votre ESXi 5.x comme au bon vieux temps !