Content

Restablecer contraseña de usuario root en ESXi 7.x

A veces, por una razón u otra, es posible que no pueda autenticarse en la Consola de administración de ESXi porque no tiene una contraseña actualizada. Esto puede deberse a un hackeo del sistema, una caída del sistema, la pérdida de la contraseña, o si heredó ESXi sin documentación o controles administrativos adecuados. Esta es una situación desagradable y habrá que hacer algo al respecto. Quizás no inmediatamente, pero sí cuando algo vaya mal y necesites interferir en un sistema que hasta ahora ha funcionado con normalidad. Esta instrucción está escrita para tales casos.

Hay varias maneras de restablecer la contraseña. Sin embargo, la que se da en este artículo es universal y funcionará no sólo para las versiones 7.x, sino también para las anteriores. Ha sido probado en la práctica y funciona en la mayoría de los casos. Así que empecemos.

Primero necesitamos arrancar desde cualquier Live CD. Puede ser una imagen de instalación de Ubuntu o, como en nuestro caso, Finnix. Esta es una distribución basada en Debian con amplias capacidades de diagnóstico y recuperación de desastres.

Después de arrancar, verás un prompt de consola:

En caso de que tu servidor esté ubicado remotamente y estés conectado a él a través de IP-KVM, no es muy conveniente trabajar en este modo debido al alto tiempo de respuesta de la consola. Para evitar esto, puedes configurar un servidor ssh. Si esto no es un problema, puedes saltarte este paso.

# set the root password for the live system passwd # bring up the ssh server service ssh star

A continuación, puede conectarse al servidor utilizando su cliente ssh favorito o desde la consola:

ssh root@1.2.3.4

Ahora necesitamos determinar qué disco contiene la partición que necesitamos. Para ello, primero vamos a determinar qué discos tenemos.

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 /run/live/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

Nuestro principal criterio de búsqueda es una partición de disco de 250 MB. Como podemos ver, el disco nvme0n1 contiene tal partición, echémosle un vistazo más de cerca:

fdisk -l /dev/nvme0n1


Nuestro objetivo es la partición que comienza en el sector 8224 y tiene un tamaño de 250MB. Esta es la partición que contiene los datos que necesitamos

Para continuar, vamos a crear 2 directorios, uno para montar el disco y el otro para los datos que necesitamos editar.

mkdir /mnt/vmware && mkdir /tmp/vmware

Montar la partición encontrada

mount /dev/nvme0n1p5 /mnt/vmware

Hay un montón de cosas dentro, pero necesitamos un archivo específico

img

Debe ser descomprimido en el directorio creado anteriormente

tar -xf /mnt/vmware/state.tgz -C /tmp/vmware/ tar -xf /tmp/vmware/local.tgz -C /tmp/vmware/ rm /tmp/vmware/local.tgz

Ahora si vamos a /tmp/vmware/ y buscamos en su contenido, encontraremos allí el familiar directorio etc.

A continuación tenemos que editar el archivo shadow y eliminar el hash de la contraseña de root. Así ESXi pensará que la contraseña de usuario está vacía después de nuestra manipulación.

nano /tmp/vmware/etc/shadow

Esto debe hacerse con cuidado. Es necesario borrar el contenido entre el primer y el segundo dos puntos

y debe quedar así

Guarde el archivo con el botón F3. Esto completa la parte más importante. Lo siguiente es empaquetar todo y volver a ponerlo donde lo encontraste.

cd /tmp/vmware/ tar -czf local.tgz etc tar -czf state.tgz local.tgz mv state.tgz /mnt/vmware/

Desmonte la unidad ESXi y reinicie.

umount /mnt/vmware/ reboot

Después de reiniciar, inicia sesión en la interfaz web de ESXi como usuario root con una contraseña vacía y cámbiala por la que necesitamos utilizando los medios estándar a través del menú superior derecho.
Ya está. Objetivo cumplido. Le recomendamos que guarde su nueva contraseña y no la pierda nunca más.