Este artículo explica cómo instalar la consola remota de VMware en Debian y derivados. Esta aplicación permite acceder a la consola serie de máquinas virtuales alojadas en clusters VMware vCenter 6.7 y superiores. Se trata de una solución superior a la consola Web desarrollada en Flash, ya que cuenta con una mejor compatibilidad con los periféricos en el cliente vSphere (particularmente la distribución de teclado). De esta forma es posible conseguir una mejor relación con las consolas series de nuestras máquinas virtuales VMware.

VMware ofrece una versión de esta consola para GNU/Linux, sin embargo es necesario implementar cierta manganeta para que funcione (como suele ocurrir con estos productos de código cerrado y con licencia propietaria).



VMware Remote Console provee acceso a la consola y dispositivos de las máquinas virtuales alojadas en un host remoto. Es necesario descargar e instalar esta consola para poder lanzar la aplicación VMRC externa directamente desde el cliente Web VMware vSphere. Desde la configuración de cualquier máquina virtual en vCenter se ofrecen dos opciones de consola: la tradicional consola Web Flash (cuyo funcionamiento es bastante defectuoso); o la consola VMRC:

Desde el cuadro emergente es posible descargar el instalador, o sino directamente accediendo al siguiente enlace (es necesario contar con una cuenta en el sitio de VMware):

Download VMware Remote Console 10.0.6

Instalación de VMware Remote Console

Para instalar la consola, simplemente: pasar a superusuario; otorgar permisos de ejecución al bundle; y lanzarlo:

emi@hal9000:~$ su
Password: 
root@hal9000:/home/emi# cd Downloads/
root@hal9000:/home/emi/Downloads# chmod +x VMware-Remote-Console-10.0.6-14247266.x86_64.bundle
root@hal9000:/home/emi/Downloads# ./VMware-Remote-Console-10.0.6-14247266.x86_64.bundle

Aceptar la licencia y continuar:

No buscar actualizaciones, ni enviar datos de uso a VMware:

Proceder con la instalación:

Comienza la copia de archivos:

Listo:

Al finalizar la instalación, se comprueba que el bundle instala sus archivos en directorios de sistema y no dentro de /usr/local/ u /opt/ (fuck you VMware!):

root@hal9000:/home/emi/Downloads# which vmrc
/usr/bin/vmrc

Si se intenta lanzar vmrc, se observa que falla al resolver métodos en librerías de sistema:

emi@hal9000:~$ vmrc
DLSYM: Failed to resolve SSLv3_method: /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2: undefined symbol: SSLv3_method

VMware Remote Console Error:
VMware Remote Console unrecoverable error: (vmrc)
DLSYM: Failed to resolve SSLv3_method: /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2: undefined symbol: SSLv3_method
You can request support.  

To collect data to submit to VMware technical support, run "vm-support".
We will respond on the basis of your support entitlement.

Para que funcione es necesario implementar un wrapper para el binario. Verificar las rutas en el PATH y crear el archivo /usr/local/bin/vmrc:

root@hal9000:/home/emi/Downloads# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@hal9000:/home/emi/Downloads# nano /usr/local/bin/vmrc

Este wrapper cambia la variable LD_LIBRARY_PATH para que utilice las librerías de VMware en lugar de las del sistema:

#!/usr/bin/env bash
#
# Copyright 2005-2008 VMware, Inc.  All rights reserved.
#
# Wrapper for a binary. Ensure that the binary will find all the
# shared libraries it needs. If a shared library is not available from
# any of the standard system-wide locations, we provide it from the
# location where the VMware software is installed.
#
# The binary must have the same name in BINDIR as it does in LIBDIR/bin.
#

set -e

ROOT_REQUIRED=no

ETCDIR=/etc/vmware
. $ETCDIR/bootstrap

export PRODUCT_NAME="VMware Remote Console"
libdir="$LIBDIR"/vmware

uid=`id -u` || exit 1

### UNS
LD_LIBRARY_PATH="$(\
	for D in $(find ${libdir}/lib/ -maxdepth 1 -mindepth 1 -type d) ; \
	do \
		echo -n "${D%/}:" ; \
	done \
)${LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH
### fin UNS

if [ "$ROOT_REQUIRED" = "yes" -a $uid -ne 0 ]; then
   "$BINDIR"/vmware-gksu "$0" "$@"
else
   binary="`basename "$0"`"
   exec "$libdir"/bin/"$binary" "$@"
fi

exit 1

Guardar los cambios y otorgar permisos de ejecución:

root@hal9000:/home/emi/Downloads# chmod +x /usr/local/bin/vmrc
root@hal9000:/home/emi/Downloads# exit
exit

Ahora es posible lanzar la consola remota desde el cliente Web vSphere en el navegador. En este caso se trata de Firefox:

Al hacer clic en el enlace se abre la ventana de abrir con una aplicación externa, seleccionar "Elegir...":

Se observa que Firefox ofrece automáticamente "VMware Remote Console", sin embargo necesitamos abrir estos enlaces con el wrapper creado anteriormente. Dirigirse hasta la ruta /usr/local/bin/ y seleccionar vmrc:

Recordar la elección y abrir el enlace:

Generalmente se utilizan certificados autofirmados en los hosts ESXi de un cluster vSphere, con lo cual aparece una advertencia al iniciar la consola:

Confiar en el certificado tildando la casilla y continuar:

De esta forma funciona correctamente la consola remota VMRC en GNU/Linux.


Tal vez pueda interesarte


Compartí este artículo