Virtual Network Computing (VNC) es un sistema de uso compartido de escritorio gráfico que le permite usar su teclado y mouse para controlar de forma remota otra computadora.

Este artículo cubre los pasos para instalar y configurar un servidor VNC en CentOS 8. También le mostraremos cómo conectarse de forma segura al servidor VNC a través de un túnel SSH.

requisitos previos

Para seguir esta guía, debe iniciar sesión como usuario con privilegios sudo en su máquina CentOS remota.

Instalación del entorno de escritorio

Por lo general, los servidores no tienen instalado un entorno de escritorio. Si la máquina a la que desea conectarse no tiene GUI, el primer paso es instalarla. De lo contrario, omita este paso.

Ejecute el siguiente comando para instalar Gnome, el entorno de escritorio predeterminado en CentOS 8 en su máquina remota:

sudo dnf groupinstall "Server with GUI"

Dependiendo de su sistema, la descarga e instalación de los paquetes y dependencias de Gnome puede llevar algún tiempo.

Instalación del servidor VNC

TigerVNC es un servidor VNC de código abierto de alto rendimiento mantenido activamente. Está disponible en los repositorios predeterminados de CentOS. Para instalarlo, escriba:

sudo dnf install tigervnc-server

Configuración del servidor VNC

En CentOS 8, TigerVNC se configura mediante el demonio systemd.

En este ejemplo, le mostraremos cómo configurar TigerVNC para uno o más usuarios de VNC.

  1. Utilice el vncpasswdcomando para configurar la contraseña. Ejecute el comando como el usuario que accederá al servidor VNC, no use sudo:

    vncpasswd

    Se le pedirá que ingrese y confirme la contraseña y si desea configurarla como una contraseña de solo lectura. Si elige configurar una contraseña de solo lectura, el usuario no podrá interactuar con la instancia de VNC con el mouse y el teclado.

    La primera vez vncpasswdque se ejecuta el comando, creará y almacenará el archivo de contraseña en el ~/.vncdirectorio del usuario.

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

    Si está agregando un segundo usuario, cámbielo y configure la contraseña con vncpasswd.

  2. El siguiente paso es configurar TigerVNC para usar Gnome. VNC lee los ajustes de configuración del usuario del ~/.vnc/configarchivo. Abra el archivo y agregue lo siguiente:

    vim ~/.vnc/config
    session=gnome
    geometry=1920x1200
    localhost
    alwaysshared
    

    La sessionopción especifica la sesión que desea iniciar y la geometryopción especifica el tamaño del escritorio VNC.

    Guarde y cierre el archivo . Si está agregando varios usuarios, repita el mismo paso.

  3. TigerVNC se envía con un archivo que le permite asignar un usuario a un puerto en particular. El mapeo se configura en el /etc/tigervnc/vncserver.usersarchivo:

    sudo vim /etc/tigervnc/vncserver.users

    El archivo utiliza <display_port>=<username>sintaxis. En el siguiente ejemplo, estamos asignando el puerto de pantalla :1al usuario heymarkething. Use el mismo formato para agregar más usuarios.

    # TigerVNC User assignment
    #
    # This file assigns users to specific VNC display numbers.
    # The syntax is <display>=<username>. E.g.:
    #
    # :2=andrew
    # :3=lisa
    :1=heymarkething

    :1es el número de puerto de visualización en el que se ejecutará el servidor VNC. En nuestro caso, el servidor se ejecuta en el puerto TCP 5901(5900+1). Si asigna otro usuario, por ejemplo, para mostrar el puerto :2, el servidor también escuchará en el puerto 5902(5900+2).

    Lo que es importante entender es que cuando se trabaja con servidores VNC, :Xhay un puerto de pantalla que se refiere a 5900+X.

Inicio del servidor Tigervnc

Una vez que haya terminado con la configuración, el último paso es iniciar el servidor VNC.

Para iniciar y habilitar el servicio VNC para el usuario asignado al puerto de visualización :1, ingrese:

sudo systemctl enable vncserver@:1 --now

El servidor VNC escuchará en el puerto 5901, como comentamos en la sección anterior.

Puede verificar que el servicio se inició con éxito con:

sudo systemctl status vncserver@:1
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/usr/lib/systemd/system/vncserver@.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-12-17 21:49:41 UTC; 8s ago
  ...

Para habilitar VNC para otros usuarios, simplemente reemplace 1con el puerto de visualización asignado al usuario.

Conexión al servidor VNC

VNC no es un protocolo encriptado y puede estar sujeto a la detección de paquetes. El enfoque recomendado es crear un túnel SSH para reenviar de forma segura el tráfico desde su máquina local en el puerto 5901al servidor remoto en el mismo puerto.

Configurar túneles SSH en Linux y macOS

Si ejecuta Linux, macOS o cualquier otro sistema operativo basado en Unix en su máquina, puede crear fácilmente un túnel con el siguiente ssh comando:

ssh -L 5901:127.0.0.1:5901 -N -f -l username remote_server_ip

Se le pedirá que introduzca la contraseña de usuario.

No olvide reemplazar usernameserver_ip_addresscon su nombre de usuario y la dirección IP de su servidor.

Configurar túneles SSH en Windows

Los usuarios de Windows pueden configurar SSH Tunneling usando PuTTY .

Abra Putty e ingrese la dirección IP de su servidor en el Host name or IP addresscampo.

En el Connectionmenú, expanda SSHy seleccione TunnelsIngrese el puerto del servidor VNC ( 5901) en el Source Portcampo, ingrese server_ip_address:5901en el Destinationcampo y haga clic en el Addbotón como se muestra en la imagen a continuación:


Regrese a la Sessionpágina para guardar la configuración para que no tenga que ingresarla cada vez. Para iniciar sesión en el servidor remoto, seleccione la sesión guardada y haga clic en el Openbotón.

Conexión usando Vncviewer

Para conectarse al servidor remoto, abra su visor VNC e ingrese localhost:5901.

Puede usar cualquier visor VNC como TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre y VNC Viewer para Google Chrome.

Estamos usando TigerVNC:

Ingrese la contraseña cuando se le solicite, y debería ver el escritorio Gnome predeterminado. Debería verse algo como esto:

¡Eso es todo! Ahora puede comenzar a trabajar en su escritorio remoto desde su máquina local usando su teclado y mouse.

Conclusión

Le mostramos cómo configurar un servidor VNC y conectarse a una máquina CentOS 8 remota.

Siéntase libre de dejar un comentario si tiene alguna pregunta.