Búsqueda de sitios web

Cómo instalar y configurar el servidor VNC en CentOS y RHEL


En esta guía, explicaremos cómo instalar y configurar VNC Remote Access en el escritorio CentOS 7/8 y RHEL 9/8/7. edición a través del programa tigervnc-server para acceder a máquinas de escritorio remotas.

VNC (Virtual Network Computing) es un protocolo servidor-cliente que permite que las cuentas de usuario se conecten y controlen de forma remota un sistema distante mediante el uso de los recursos proporcionados por la interfaz gráfica de usuario.

A diferencia de otros servidores VNC disponibles que se conectan directamente al escritorio de ejecución, como VNC X o Vino, tigervnc-vncserver utiliza un mecanismo diferente que configura un escritorio virtual independiente para cada usuario.

Requisitos

  • Instalación de CentOS 8 con capturas de pantalla
  • Procedimiento de instalación de CentOS 7
  • Cómo instalar RHEL 9 gratis
  • Cómo instalar RHEL 8 gratis
  • Procedimiento de instalación de RHEL 7

Paso 1: instalar y configurar VNC en CentOS

1. Tigervnc-server es un programa que ejecuta un servidor Xvnc e inicia sesiones paralelas de Gnome u otro escritorio. entornos en el escritorio VNC.

El mismo usuario puede acceder a una sesión de usuario VNC iniciada desde varios clientes VNC. Para instalar el servidor TigerVNC en CentOS/RHEL, abra una sesión de terminal y ejecute el siguiente comando yum con privilegios de root.

sudo yum install tigervnc-server

2. Después de haber instalado el programa, inicie sesión con el usuario que desea ejecutar el programa VNC y ejecute el siguiente comando en la terminal para configurar un contraseña para el servidor VNC.

Tenga en cuenta que la contraseña debe tener al menos seis caracteres.

su - your_user
vncpasswd

3. A continuación, agregue un archivo de configuración del servicio VNC para su usuario a través de un archivo de configuración de demonio ubicado en el árbol de directorios systemd. Para copiar el archivo de plantilla VNC necesita ejecutar el siguiente comando cp con privilegios de root.

Si a su usuario no se le otorgan privilegios sudo, cambie directamente a la cuenta raíz o ejecute el comando desde una cuenta con privilegios raíz.

cp /lib/systemd/system/[email  /etc/systemd/system/vncserver@:1.service

4. En el siguiente paso, edite el archivo de configuración de la plantilla VNC copiado del directorio /etc/systemd/system/ y reemplace los siguientes valores para reflejar su usuario como se muestra a continuación. muestra.

El valor de 1 después del signo @ representa el número de visualización (puerto 5900+display). Además, para cada servidor VNC iniciado, el puerto 5900 se incrementará en 1.

vi /etc/systemd/system/vncserver@\:1.service

Agregue las siguientes líneas al archivo vncserver@:1.service.

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

[Service]
Type=forking
User=tecmint
Group=tecmint
WorkingDirectory=/home/tecmint
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. Después de haber realizado los cambios adecuados en el archivo de servicio VNC, vuelva a cargar el programa de inicialización del sistema systemd para seleccionar el nuevo archivo de configuración de vnc e iniciar el servidor TigerVNC.

Además, verifique el estado del servicio VNC y habilite el demonio VNC en todo el sistema emitiendo los siguientes comandos.

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

6. Para enumerar los puertos abiertos en el estado de escucha propiedad del servidor VNC, ejecute el comando ss, que se utiliza para mostrar los sockets de red. Como solo ha iniciado una instancia del servidor VNC, el primer puerto abierto es 5901/TCP.

Nuevamente, el comando ss debe ejecutarse con privilegios de root. En caso de que inicie otras instancias VNC en paralelo para diferentes usuarios, el valor del puerto será 5902 para la segunda, 5903 para la tercera, y así sucesivamente. Los puertos 6000+ se utilizan para permitir que las aplicaciones X se conecten al servidor VNC.

ss -tulpn| grep vnc

7. Para permitir que los clientes VNC externos se conecten al servidor VNC, debe asegurarse de que los puertos abiertos VNC adecuados puedan pasar a través de su firewall.

En caso de que se inicie solo una instancia del servidor VNC, solo necesita abrir el primer puerto VNC asignado: 5901/TCP emitiendo los siguientes comandos para aplicar la configuración del firewall en tiempo de ejecución.

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

Paso 2: Conexión al escritorio CentOS a través del cliente VNC

8. Al ser un protocolo independiente de la plataforma, las conexiones remotas de interfaz gráfica de usuario VNC se pueden realizar desde casi cualquier sistema operativo con una GUI y un cliente VNC especializado.

Un cliente VNC popular utilizado en sistemas operativos basados en Microsoft, totalmente compatible con el servidor Linux TigerVNC, es RealVNC VNC Viewer.

Para conectarse de forma remota a CentOS Desktop desde un sistema operativo Microsoft a través del protocolo VNC, abra el programa VNC Viewer, agregue la dirección IP y el número de puerto del servidor CentOS VNC y presione la tecla [enter].

Una vez establecida la conexión VNC, debería aparecer en su pantalla una advertencia que indique que la conexión no está cifrada, como se ilustra en las siguientes capturas de pantalla.

9. Para omitir la advertencia, presione el botón Continuar, agregue la configuración de contraseña para el servidor VNC en el punto 2 y debería estar conectado de forma remota a CentOS Desktop con el usuario configurado para ejecutar la instancia del servidor VNC.

10. En caso de que aparezca un nuevo mensaje de Autenticación en su pantalla y su usuario no tenga privilegios de root, simplemente presione el botón Cancelar para continuar con CentOS. Escritorio, como se muestra en la siguiente captura de pantalla.

Tenga en cuenta que la comunicación VNC establecida entre el servidor y el cliente y cualquier dato intercambiado (excepto la contraseña) se ejecuta a través de un canal no cifrado. Para cifrar y proteger la transferencia de datos VPN, primero debe configurar un túnel SSH seguro y ejecutar cualquier tráfico VPN posterior a través del túnel SSH.

11. Para conectarse de forma remota a CentOS Desktop a través del protocolo VNC desde otros CentOS Desktops, primero asegúrese de que el paquete vinagre esté instalado en su sistema emitiendo el siguiente comando.

sudo yum install vinagre

12. Para abrir la utilidad vinagre, vaya a Aplicaciones -> Utilidades -> Visor de escritorio remoto como se muestra en la siguiente captura de pantalla.

13. Para conectarse de forma remota a un escritorio CentOS, presione el botón Conectar, seleccione el protocolo VNC de la lista y agregue la dirección IP. y puerto (5900+número de pantalla) del servidor VNC remoto. Además, proporcione la configuración de contraseña para el usuario de VNC como se ilustra en las siguientes capturas de pantalla.

14. Otro cliente VNC popular para plataformas basadas en Linux es Remmina, un cliente de escritorio remoto que se utiliza especialmente en distribuciones basadas en Debian que ejecutan el entorno de escritorio GNOME.

Para instalar el cliente Remmina Remote Desktop en distribuciones basadas en Debian, ejecute el siguiente comando.

sudo apt-get install remmina

Paso 3: Configurar múltiples sesiones VNC en CentOS

15. En caso de que necesite ejecutar una nueva sesión VNC paralela con el mismo usuario, abra una consola Terminal, inicie sesión con el usuario con el que desea iniciar la nueva sesión VNC y ejecute el siguiente comando.

Cuando inicie el servidor por primera vez, se le pedirá que proporcione una nueva contraseña para esta sesión. Sin embargo, tenga en cuenta que esta sesión se ejecuta con los permisos de usuario que ha iniciado sesión e independientemente de la sesión iniciada del servidor systemd VNC.

vncserver

16. Las nuevas sesiones de VNC abrirán los siguientes puertos basados en VNC disponibles (se muestra 5900+3 en este ejemplo). Para mostrar los puertos abiertos, ejecute el comando ss sin privilegios de root como se ilustra en el siguiente extracto. Enumerará solo las sesiones VNC iniciadas que debe su usuario.

ss -tlpn| grep Xvnc

17. Ahora, conéctese de forma remota a CentOS Desktop usando esta nueva sesión de VNC y proporcione la combinación IP:puerto (192.168.1.23:5903) en el cliente VNC como se ilustra en la siguiente imagen.

Para detener las instancias del servidor VNC iniciadas con estos permisos de usuario registrados, emita el siguiente comando sin ningún privilegio de root. Este comando destruirá todas las instancias VNC iniciadas que pertenecen únicamente al usuario que las indicó.

su - your_user
killall Xvnc

¡Eso es todo! Ahora puede acceder a su sistema CentOS y realizar tareas administrativas utilizando la interfaz gráfica de usuario proporcionada por el sistema operativo.