Cómo instalar el servidor VNC en Rocky Linux

La computación virtual en red (VNC) es un protocolo de compartición de escritorio que te permite controlar un ordenador de forma remota mediante el software cliente VNC. VNC funciona en entornos GUI (Graphical User Interface), transmite los movimientos de tu ratón y la entrada del teclado a través de la red utilizando el protocolo Remote Frame Buffer (RFB).

Comúnmente, VNC se utiliza para que los técnicos controlen los escritorios de los clientes o para que lo utilice alguien que necesita acceder a su escritorio en la oficina desde su casa. El VNC se puede utilizar de forma segura a través de la red VPN o utilizando la conexión por túnel SSH.

En este tutorial, configurarás el servidor VNC con TigerVNC en un servidor Rocky Linux. También aprenderás a conectarte de forma segura al Servidor VNC a través de un túnel SSH.

Requisitos previos

Para completar este tutorial, necesitarás un servidor con los siguientes requisitos

  • Un servidor Rocky Linux nuevo – Puedes utilizar Rocky Linux v8.5 o v9.
  • Un usuario no root con privilegios de root o administrador.
  • Un firewalld habilitado en el servidor.

Instalación del entorno de escritorio

La instalación por defecto del servidor Rocky Linux viene sin GUI. Para configurar VNC Server, tendrás que instalar el Entorno de Escritorio en tu servidor Rocky Linux. Para el Servidor VNC, se recomienda utilizar el Entorno de Escritorio ligero, que te proporciona más rendimiento y velocidad.

En Rocky Linux, hay varios grupos de paquetes que proporcionan un Entorno de Escritorio. En este ejemplo, instalarás y configurarás el XFCE como Entorno de Escritorio para el Servidor VNC en el sistema Rocky Linux.

Antes de empezar a instalar los paquetes, ejecuta el siguiente comando dnf para actualizar los paquetes instalados a la última versión.

sudo dnf update

Ahora, añade el repositorio EPEL a tu sistema Rocky Linux mediante el siguiente comando dnf. Introduce Y para añadir el repositorio EPEL y pulsa ENTER.

sudo dnf epel-release

A continuación, instalarás el Entorno de Escritorio XFCE mediante el paquete de grupo«Xfce» proporcionado por el repositorio Rocky Linux. Además, instalarás el paquete de grupo «base-x» que contiene paquetes Xorg.

sudo dnf groupinstall "Xfce" "base-x"

Introduce Y cuando se te pida que confirmes la instalación y pulsa ENTER para continuar.

Una vez instalados el escritorio XFCE y base-x, habilita el entorno gráfico mediante el siguiente comando systemctl. Esto habilitará el entorno gráfico cuando se inicie el servidor.

sudo systemctl set-default graphical

habilitar el gráfico

Añadir un usuario VNC

Por seguridad, se recomienda utilizar un usuario no root para ejecutar el servidor VNC. Debes crear usuarios dedicados que ejecuten el servidor VNC. Si el usuario necesita los privilegios de sudo, puedes añadir tu usuario al grupo «wheel».

Ejecuta el siguiente comando para crear un nuevo usuario. A continuación, configura la contraseña del usuario. En este ejemplo, crearás un nuevo usuario«jane«, y asegúrate de utilizar una contraseña fuerte.

sudo useradd -m -s /bin/bash jane
sudo passwd jane

Una vez creado el nuevo usuario, ejecuta el siguiente comando para añadirlo al grupo«wheel«. Esto permite al nuevo usuario ejecutar el comando sudo y obtener privilegios de root.

sudo usermod -aG wheel jane

Con el Entorno de Escritorio XFCE instalado y el usuario VNC creado, a continuación iniciarás la instalación y configuración de TigerVNC.

configurar usuario

Instalar el servidor TigerVNC

Para configurar un servidor VNC, debes instalar el software del servidor VNC. En este ejemplo, instalarás y utilizarás «TigerVNC Server», que está disponible por defecto en el repositorio de Rocky Linux.

También generarás las configuraciones del servidor VNC, establecerás el entorno de escritorio por defecto y añadirás el usuario VNC a la lista de usuarios de TigerVNC Server.

Ejecuta el comando dnf que aparece a continuación para instalar el paquete «tigervnc-server» en el sistema Rocky Linux. Introduce Y cuando se te pida que confirmes la instalación y pulsa ENTER para continuar.

sudo dnf install tigervnc-server

instalar tigervnc

Una vez completada la instalación, lo siguiente será configurar el servidor VNC para cada usuario (usuarios VNC).

Inicia la sesión de tu usuario con el siguiente comando.

su - jane

Ahora, ejecuta el siguiente comando para inicializar el Servidor VNC para el usuario«jane«. Durante la inicialización del servidor VNC, se te pedirá que crees la contraseña para tu servidor VNC, así que introduce la contraseña fuerte y repite. Y para la«contraseña de sólo visualización«, introduce«n» para desactivarla.

vncserver

Este comando generará las configuraciones del servidor VNC que se ubicarán en«~/.vnc«. Las configuraciones del servidor VNC incluyen el script de xstartup, la configuración del entorno de escritorio y los registros del proceso VNC.

Además, puedes ver que el nuevo proceso VNC se está ejecutando con un nombre como«HOSTNAME:N«, que significa el nombre de host del sistema y el escritorio/pantalla :N en número.

inicializar el servidor vnc

Comprueba la lista de procesos VNC mediante el comando vncserver que aparece a continuación. Deberías ver que se está ejecutando el proceso VNC de la pantalla «:1«.

vncserver -list

Ahora, debes terminar el proceso VNC actual «:1″ para configurar el entorno de escritorio XFCE. Ejecuta el siguiente comando vncserver para detener el proceso VNC de la pantalla «:1″.

vncserver -kill :1

Una vez terminado el proceso VNC, deberías obtener un mensaje de salida como«Killing Xvnc process ID PID«.

matar el proceso del servidor vnc

Ahora que has generado la configuración del servidor VNC, abre el archivo«~/.vnc/config» con el editor nano.

nano ~/.vnc/config

Cambia la configuración por defecto como se indica a continuación. En este ejemplo, utilizarás el XFCE como Entorno de Escritorio por defecto para el servidor VNC, y cuando el usuario se conecte al Servidor VNC, la pantalla por defecto será«1920×1200«. El servidor VNC sólo se ejecutará en localhost y habilitará los escritorios compartidos.

session=xfce
geometry=1920x1200
localhost
alwaysshared

Guarda el archivo y sal del editor cuando hayas terminado.

configurar servidor vnc

A continuación, pulsa ‘Ctrl+d’ y vuelve a la sesión del usuario root. A continuación, abre el archivo‘/etc/tigervnc/vncserver.users’ con el editor nano.

sudo nano /etc/tigervnc/vncserver.users

Añade el número de pantalla y el usuario VNC como en la siguiente configuración. En este ejemplo, la pantalla «:1» se utilizará para ejecutar el servidor VNC para el usuario«jane«.

:1=jane

Guarda el archivo y sal del editor cuando hayas terminado.

Con las configuraciones del servidor VNC generadas, el Entorno de Escritorio por defecto configurado y el usuario VNC añadido a la lista de usuarios de TigerVNC, ya estás preparado para iniciar el servidor TigerVNC y ejecutarlo como servicio.

Iniciar el servidor VNC

El servidor TigerVNC proporciona archivos de servicio systemd dinámicos, lo que significa que cada pantalla o usuario tiene su servicio systemd. En este ejemplo, el usuario«jane» está ejecutando el servidor VNC con la pantalla «:1«, por lo que el archivo de servicio sería«vncserver@:1.service».

Ahora, cada vez que añadas un nuevo usuario VNC, deberás recargar el gestor systemd para aplicar los nuevos cambios. Puedes recargar el gestor systemd mediante el comando systemctl como se indica a continuación.

sudo systemctl daemon-reload

A continuación, inicia y habilita el«vncserver@:1.service» para la pantalla «:1» mediante el siguiente comando systemctl. Esto permitirá que el proceso del servidor VNC de la pantalla «:1» se ejecute automáticamente en el arranque.

sudo systemctl start vncserver@:1.service
sudo systemctl enable vncserver@:1.service

empezar a habilitar el servidor vnc

Por último, verifica el «vncserver@:1.service» para asegurarte de que el servicio se está ejecutando.

sudo systemctl status vncserver@:1.service

Si el «vncserver@:1.service» se está ejecutando, deberías ver una salida similar a la siguiente captura de pantalla.

comprobar el estado del servicio vnc

Llegados a este punto, has completado la instalación y configuración del servidor VNC a través del «Tiger-VNC» en el servidor Rocky Linux. También has configurado el XFCE como Entorno de Escritorio por defecto para el servidor VNC. A continuación, configurarás el Firewalld para asegurar el servidor VNC.

Configurar el Firewalld

En el servidor Rocky Linux por defecto, el firewalld está instalado y habilitado. Añadirás un nuevo servicio «vnc-server» al firewalld.

Añade el servicio «vnc-server» al firewalld mediante el comando firewall-cmd que aparece a continuación. A continuación, recarga las reglas del firewalld para aplicar los nuevos cambios.

sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

Por último, verifica la lista de reglas de firewalld mediante el comando que aparece a continuación. Si ves el servicio«vnc-server» en la lista de servicios, entonces la regla de servicio está añadida y habilitada.

sudo firewall-cmd --list-services

configurar firewalld

Conéctate al servidor VNC a través de un túnel SSH seguro

Para iniciar el túnel SSH, ejecuta el siguiente comando ssh. En este ejemplo, crearás un nuevo túnel hacia la dirección IP del servidor VNC«192.168.5.100» con el usuario«jane» hacia el localhost en el puerto TCP«5901«, que es el mismo puerto del servidor VNC.

ssh -L 5901:127.0.0.1:5901 -N -f -l jane 192.168.5.100

Introduce la contraseña de tu usuario. Una vez conectado, puedes conectarte al servidor VNC a través de localhost con el puerto 5901.

túnel ssh

Abre tu visor VNC en tu ordenador local. En este ejemplo, utilizaremos el «Visor TigerVNC».

En la dirección «Servidor VNC», introduce el host como localhost o 127.0.0.1 con el puerto 5901. A continuación, haz clic en«Conectar» para continuar.

inicio de sesión en el servidor vnc

Ahora, introduce la contraseña del servidor VNC para tu usuario y haz clic en «Aceptar«.

contraseña servidor vnc

Si la conexión se realiza con éxito, verás el escritorio XFCE en tu pantalla, como se muestra en la siguiente captura.

También puedes abrir tu terminal y ejecutar el siguiente comando para verificar tu usuario.

id
whoami
sudo su

vnc server rocky linxu xfce

Conclusiones

En esta guía, has instalado el servidor VNC con TigerVNC en el servidor Rocky Linux. También has instalado y configurado el XFCE como Entorno de Escritorio por defecto para tu servidor VNC. Y, por último, has aprendido a conectarte al servidor VNC de forma segura mediante un túnel SSH.

Otra consideración para el servidor VNC es que puedes limitar las direcciones IP que pueden acceder al puerto del servidor VNC a través del Firewalld. Y también puedes asegurar la conexión mediante un servidor VPN local.

También te podría gustar...