La situation peut se produire dans différents cas. Vous avez installé un serveur de virtualisation ESXi il y a plusieurs années chez un client et vous en avez oublié le mot de passe root. Vous remplacez un salarié indélicat qui est parti sans avoir laissé tous les accès aux serveurs VMware. Vous avez plusieurs hyperviseurs ESX en cluster mais l’un d’eux n’a pas le même mot de passe que les autres. Pour ces raisons et bien d’autres, vous ne connaissez pas le mot de passe root d’un serveur VMware ESXi.

Par le logiciel VMware vSphere Client ou via un navigateur web, c’est le compte root qui est le plus important et la problématique est réelle si vous n’avez pas d’autre compte admin VMware. Ne pas avoir l’accès principal et le plus élevé à un serveur de virtualisation peut mettre en péril toutes les machines virtuelles qu’il héberge et les données stockées sur les centres de données (datastore).

Ce tutoriel est valable pour toutes les versions de ESXi supérieures à la 3.5, c’est-à-dire la 4.0, 4.1, 5.0, 5.1, 5.5, 6.0, 6.1, 6.5, 6.7, 7.0…

 

Modifier le mot de passe root d’un serveur VMware

Dans le cas d’un vCenter

Si le serveur VMware fait partie d’un cluster VMware géré par vCenter et que vous avez accès à celui-ci, surtout s’il est interfacé avec Active Directory pour l’authentification, la solution sera vite trouvée.

1. Se connecter à la console d’administration vSphere Client ou https://nomserveur.domaine.local/ui avec un identifiant réseau autre que root  mais avec les droits d’administrateur sur le cluster.

tutoriel VMware vCenter

2. Aller dans Administration, Rôles, pour ouvrir le rôle Admin du vCenter. Modifier le mot de passe root par ici si disponible.

tutoriel VMware vCenter

3. Aller dans Inventaire, Hôtes et clusters, pour ouvrir l’hôte concerné par le mot de passe perdu. A la partie Autorisations, modifier le compte root ou ajouter un nouvel utilisateur qui fera partie du rôle Admin.

 

Si le serveur ESXi est indépendant

Dans le cas où le serveur VMware ne fait pas partie d’un cluster et fonctionne donc seul, et c’est forcément le cas des serveurs VMware Hyperviseur en licence gratuite, il n’y a qu’une seule solution officielle proposée par VMware. En effet, si on a oublié le mot de passe root et qu’aucun autre compte admin n’avait été créé (ou qu’on a aussi oublié leur mot de passe), VMware dit qu’il n’y a qu’une seule chose à faire : réinstaller l’hyperviseur.

Dans le KB1317898 intitulé « Steps to reset a lost or forgotten root password of an ESX/ESXi host » et daté de janvier 2021, lu par plus d’un million de personnes, on en déduit que le problème est relativement courant.

Le sujet : « This article provides steps to reset a lost or forgotten root password of an ESX/ESXi host »

La solution officielle VMware :

In ESXi 3.5 and above: Reinstalling the ESXi host is the only supported way to reset a password on ESXi.

Traduction : Pour ESXi 3.5 et supérieur : La réinstallation de l’hôte ESXi est le seul moyen pris en charge pour réinitialiser un mot de passe sur ESXi.

C’est la douche froide pour les admins à distance et ceux qui ont un serveur en production mais on peut au moins admettre qu’il existe une solution officielle qui ne fera pas perdre les données ni les VM. Car réinstaller l’hyperviseur ne signifie pas effacer les données du (ou des) datastore(s). Le contenu des disques, en local (DAS) ou à distance (SAN, NAS) ne sera pas affecté.

Il y a cependant une alternative mais pas officiellement supportée.

Il faut donc, dans l’ordre :

1. Arrêter proprement toutes les machines virtuelles en cours d’exécution.

2. Arrêter le serveur VMware (malheureusement sans pouvoir le faire proprement, ou alors en appuyant sur le bouton physique Power du serveur s’il le prend en charge).

3. Utiliser le CD / DVD de l’ISO VMware ESX / ESXi / Hypervisor en votre possession ou graver le fichier ISO à partir d’un téléchargement VMware ou créer une clé USB bootable. Il n’est pas forcément recommandé de mettre à jour l’hyperviseur à ce moment précis puisque la situation n’est peut-être pas idéale (manque de sauvegarde des VM et de la config VMware, notamment).

4. Démarrer le serveur sur le média bootable.

5. ()installer VMware ESXi comme au premier jour.

6. Définir un mot de passe root et s’en souvenir. 😉

7. Une fois l’interface à la console d’administration récupérée, aller dans la Configuration du matériel, Stockage, Ajouter un stockage. Chercher le(s) datastore(s) existant(s) pour les lier au « nouvel » ESXi. Parcourir les banques de données pour « Ajouter à l’inventaire » les fichiers VMX des machines virtuelles à remettre en ligne.

Sur l’interface web ESXi 6.7, aller dans le menu à gauche Machines virtuelles, puis « Créer / enregistrer une machine virtuelle » :

tutoriel VMware ESXi machine virtuelle VM

8. Choisir ensuite « Enregistrer une machine virtuelle existante » et chercher le « .vmx« .

9. La VM s’ajoute à l’inventaire des machines virtuelles ESXi.