Cómo instalar VNC Server en RHEL 8


VNC (Virtual Network Computing) es una plataforma popular para compartir gráficos de escritorio que le permite acceder, ver y controlar de forma remota otras computadoras a través de una red como Internet.

VNC utiliza el protocolo Remote Frame Buffer (RFB) y funciona según el principio cliente-servidor: un servidor comparte su salida (vncserver) y un cliente (vncviewer) se conecta al servidor. Tenga en cuenta que la computadora remota debe tener un entorno de escritorio instalado.

En este artículo, explicaremos cómo instalar y configurar VNC Remote Access en la última versión de RHEL 8 Desktop Edition a través de un programa de servidor tigervnc.

  1. RHEL 8 con instalación mínima
  2. RHEL 8 con suscripción a RedHat habilitada
  3. RHEL 8 con dirección IP estática

Una vez que su sistema RHEL 8 cumpla con los requisitos mencionados anteriormente, estará listo para configurarlo como un servidor VNC.

Paso 1: Deshabilitar Wayland Display Manager y habilitar X.org

1. El entorno de escritorio (DE) predeterminado en RHEL 8 es GNOME, que está configurado para utilizar el administrador de pantalla Wayland de forma predeterminada. Sin embargo, Wayland no es una API de renderizado remoto como X.org. Por lo tanto, debe configurar su sistema para usar el administrador de pantalla de X.org.

Abra el archivo de configuración de GNOME Display Manager (GDM) con su editor de línea de comandos favorito.

# vi /etc/gdm/custom.conf

Luego, elimine el comentario de esta línea para forzar que la pantalla de inicio de sesión use Xorg.

WaylandEnable=false

Guarde el archivo y ciérrelo.

Paso 2: Instale el servidor VNC en RHEL 8

2. TigerVNC (Tiger Virtual Network Computing) es un sistema de código abierto ampliamente utilizado para compartir gráficos de escritorio que le permite controlar de forma remota otras computadoras.

# dnf install tigervnc-server tigervnc-server-module

3. A continuación, cambie al usuario que desea ejecutar y use el programa VNC configurando la contraseña del servidor VNC del usuario (que debe tener al menos seis caracteres), como se muestra.

# su - tecmint
$ vncpasswd

Ahora vuelva a la cuenta raíz ejecutando el comando exit.

$ exit

Paso 3 Configure el servidor VNC en RHEL 8

4. En este paso, debe configurar el servidor TigerVNC para iniciar una pantalla para el usuario anterior en el sistema. Empiece por crear un archivo de configuración llamado/etc/systemd/system/[email protected] de la siguiente manera.

# vi /etc/systemd/system/[email protected]

Agregue la siguiente configuración en él (recuerde reemplazar tecmint con su nombre de usuario real).

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=forking 
WorkingDirectory=/home/tecmint 
User=tecmint 
Group=tecmint 

PIDFile=/home/tecmint/.vnc/%H%i.pid 

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' 
ExecStart=/usr/bin/vncserver -autokill %i 
ExecStop=/usr/bin/vncserver -kill %i 

[Install] 
WantedBy=multi-user.target

Guarde el archivo y ciérrelo.

Antes de continuar, comprendamos brevemente cómo el servidor VNC escucha las solicitudes. De forma predeterminada, VNC usa el puerto TCP 5900 + N, donde N es el número de pantalla. Si el número de pantalla es 1 , entonces el servidor VNC se ejecutará en el puerto de pantalla número 5901. Este es el puerto que debe usar mientras se conecta al servidor, desde el cliente.

Paso 4: Habilite el servicio VNC en RHEL 8

5. Para iniciar el servicio VNC, debe deshabilitar SELinux, que está imponiendo el modo de forma predeterminada en RHEL 8.

# setenforce 0
# sed -i 's/enforcing/disabled/g' /etc/selinux/config

6. Ahora vuelva a cargar la configuración del administrador de systemd para aplicar los cambios recientes y luego inicie el servicio VNC, habilítelo para que se inicie automáticamente en el momento del arranque del sistema y verifique si está funcionando usando los siguientes comandos systemctl.

# systemctl daemon-reload
# systemctl start [email protected]:1
# systemctl status [email protected]:1
# systemctl enable [email protected]:1

7. En este punto, el servicio VNC está en funcionamiento, verifique que el servidor VNC esté escuchando en el puerto TCP 5901 usando el comando netstat.

# netstat -tlnp

8. A continuación, abra el puerto 5901 en el servicio de firewall del sistema que se ejecuta de forma predeterminada, como se muestra. Esto permite el acceso al servicio VNC de los clientes.

# firewall-cmd --permanent --add-port=5901/tcp
# firewall-cmd --reload

Paso 5: Conexión al servidor VNC a través del cliente VNC

9. Ahora es el momento de ver cómo acceder al servidor VNC desde el lado del cliente. VNC no es un sistema seguro por defecto, lo que significa que sus conexiones no están encriptadas en absoluto. Pero puede proteger las conexiones del cliente al servidor mediante una técnica conocida como tunelización SSH, como se explica a continuación.

Recuerde que debe configurar la autenticación SSH sin contraseña entre el servidor y la máquina cliente, para aumentar la confianza entre los dos sistemas Linux.

Luego, en la máquina cliente Linux, abra una ventana de terminal y ejecute el siguiente comando para crear un túnel SSH al servidor VNC (no olvide cambiar la ruta al archivo de identidad (~/.ssh/rhel8) y la dirección IP (192.168.0.1). 56.110) del servidor en consecuencia):

$ ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110

10. Después de crear el túnel SSH, puede instalar el cliente vncviewer como TigerVNC Viewer en la máquina cliente.

$ sudo apt install tigervnc-viewer         #Ubuntu/Debian
# yum install tigervnc-viewer              #CnetOS/RHEL
# yum install tigervnc-viewer              #Fedora 22+
$ sudo zypper install tigervnc-viewer      #OpenSUSE
# pacman -S tigervnc                       #Arch Linux

11. Cuando se complete la instalación, ejecute su cliente VNC, especifique la dirección localhost: 5901 para conectarse y mostrar 1 de la siguiente manera.

$ vncviewer localhost:5901
OR
$ vncviewer 127.0.0.1:5901

O bien, busque y abra el programa cliente VNC desde el menú del sistema, luego ingrese la dirección arriba y luego haga clic en Conectar como se muestra en la siguiente captura de pantalla.

Si la conexión es exitosa, se le pedirá la contraseña de inicio de sesión de VNC creada anteriormente en el Paso 2, punto 3. Proporciónela y haga clic en Aceptar para continuar.

Tras una autenticación exitosa del servidor VNC, se le presentará la interfaz de escritorio del sistema RHEL 8 remoto. Haga clic en Entrar para acceder a la interfaz de inicio de sesión y proporcione su contraseña para acceder al escritorio.

En este artículo, hemos mostrado cómo instalar y configurar el servidor VNC en RHEL 8. Como de costumbre, puede hacer preguntas a través del formulario de comentarios a continuación.