Configuración de un servidor VNC en AWS EC2

Wikipedia proporciona una definición útil de computación en red virtual (VNC):

Virtual Network Computing (VNC) es un sistema gráfico de uso compartido de escritorio que utiliza el protocolo Remote Frame Buffer (RFB) para controlar de forma remota otra computadora. Transmite la entrada del teclado y el mouse de una computadora a otra, retransmitiendo las actualizaciones de la pantalla gráfica, a través de una red.

Lo que esto significa es que puede tener acceso a una interfaz gráfica de usuario (GUI) en una instancia de AWS EC2. Uso y prefiero la interfaz de línea de comandos (CLI) la mayoría de las veces, pero una GUI es útil para ciertas tareas como la visualización. El reenvío X11 es otra opción para acceder a la GUI de una aplicación, pero puede ser lento.

En esta publicación, configuraremos un servidor VNC en una instancia EC2 y lo usaremos para acceder al Administrador de visualización de GNOME (GDM) en nuestra máquina local. Usaremos TigreVNC, que es una implementación de VNC de alto rendimiento e independiente de la plataforma. TigerVNC proporciona los niveles de rendimiento necesarios para ejecutar aplicaciones de video y 3D, e intenta mantener una apariencia común y reutilizar componentes, cuando sea posible, en las diversas plataformas que admite. TigerVNC también proporciona extensiones para métodos de autenticación avanzados y cifrado TLS.

Prefiero usar Ubuntu como sistema operativo para mis instancias EC2 y configurar un servidor VNC en AWS EC2 es muy fácil.

Hay muchas guías útiles para iniciar una instancia EC2 y conectarse a ella, así que si no lo ha hecho antes, consulte una de ellas. Utilice la última versión de Ubuntu al seleccionar una imagen. Deberá abrir el puerto 5901 porque ese es el puerto que usaremos para conectarnos al servidor VNC.

Una vez que inició una instancia EC2 y accedió a SSH, actualice el administrador de paquetes e instale los siguientes paquetes (toma alrededor de 6 a 7 minutos) y reinicie la instancia. estoy usando un t2.medium instancia. (Puede eliminar Firefox de la línea de instalación, si no lo va a usar).

sudo apt update

time sudo apt install -y tigervnc-standalone-server tigervnc-xorg-extension tigervnc-viewer firefox ubuntu-gnome-desktop
# real    6m47.380s
# user    0m0.113s
# sys     0m0.243s

sudo shutdown -r now

Vuelva a iniciar sesión en la instancia después de que haya terminado de reiniciarse. A continuación, utilizaremos systemctl para iniciar el Administrador de visualización de GNOME. Asegúrese de que el estado vuelva a estar activo y en ejecución. También he incluido un comando que desactiva la pantalla de bloqueo porque no puedo ingresar mi contraseña en la pantalla de bloqueo (incluso si configuro una contraseña para el ubuntu usuario usando sudo).

sudo systemctl start gdm
sudo systemctl status gdm

# disable lock screen
gsettings set org.gnome.desktop.lockdown disable-lock-screen true

Finalmente, configure una contraseña para el servidor VNC (ingrese no para una contraseña de solo lectura), inicie el servidor VNC y cierre la sesión nuevamente.

vncpasswd

# Would you like to enter a view-only password (y/n)? n
# A view-only password is not used

vncserver
logout

En su máquina local, necesitará un “visor VNC”, que puede considerar como un cliente VNC. Puedes usar Visor VNC o instale TigerVNC en su máquina local y use vncviewer.

Una vez que haya terminado de configurarlo, iniciaremos un túnel SSH desde la instancia EC2 hasta su máquina local.

Los parámetros utilizados con ssh para iniciar el túnel son:

  • -N – No ejecute un comando remoto. Esto es útil solo para reenviar puertos
  • -Y – Habilita el reenvío X11 de confianza
  • -f – Solicita a SSH que vaya al fondo justo antes de la ejecución del comando
  • -L – Especifica que las conexiones al puerto TCP dado o al socket Unix en el host local (cliente) se reenviarán al host y puerto dados

Reemplazar amazon.pem con su clave SSH real y ipaddr debe ser la dirección IP de su instancia EC2.

ssh -N -Y -f -i amazon.pem -L 5901:localhost:5901 [email protected]

Estoy usando TigerVNC en mi máquina local y puedo conectarme al servidor VNC usando vncserver. Se le pedirá una contraseña después de ingresar el comando; ingrese la contraseña que configuró usando vncpasswd.

vncviewer localhost:5901

Configuracion de un servidor VNC en AWS EC2

¡Eso es todo!

Imprimir amigable, PDF y correo electrónico

Fuente del artículo

Deja un comentario