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


En esta guía, explicaremos cómo instalar y configurar VNC Remote Access en la última versión de CentOS 7 y RHEL 7 edición de escritorio a través de tigervnc-server programa.

VNC ( Informática de red virtual ) es un protocolo de servidor-cliente que permite a las cuentas de usuario conectarse y controlar remotamente un sistema distante utilizando los recursos proporcionados por la Interfaz Gráfica de Usuario.

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

  1. CentOS 7 Installation Procedure
  2. RHEL 7 Installation Procedure

Paso 1: Instalar y configurar VNC en CentOS 7

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

El mismo usuario puede acceder a una sesión de usuario VNC iniciada desde múltiples clientes VNC. Para instalar el servidor TigerVNC en CentOS 7 , abra una sesión de Terminal y ejecute el siguiente comando con privilegios de raíz.

$ 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 el terminal para configurar una contraseña para el servidor VNC.

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

$ su - your_user  # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI
$ 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 daemon ubicado en el árbol de directorios del sistema. Para copiar el archivo de plantilla VNC, debe ejecutar el siguiente comando con privilegios de root.

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

# cp /lib/systemd/system/[email protected]  /etc/systemd/system/[email protected]:1.service

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

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

# vi /etc/systemd/system/[email protected]\:1.service

Agregue las siguientes líneas al archivo [correo electrónico protegido]: 1.service .

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

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

[Install]
WantedBy=multi-user.target

5. Una vez que haya 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 vnc e iniciar el servidor TigerVNC.

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

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

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

De nuevo, el comando ss debe ejecutarse con privilegios de root. En caso de que inicie otras instancias de VNC en paralelo para diferentes usuarios, el valor del puerto será 5902 para el segundo, 5903 para el tercero 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 en CentOS, debe asegurarse de que los puertos abiertos VNC adecuados puedan pasar a través de su firewall.

En caso de que solo se inicie 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 a CentOS Desktop a través del cliente VNC

8. Al ser un protocolo independiente de la plataforma, las conexiones remotas 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 los sistemas operativos basados ​​en Microsoft , totalmente compatible con el servidor Linux TigerVNC , es el Visor VNC de RealVNC.

Para conectarse de forma remota a CentOS Desktop desde un sistema operativo de 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 [enter] tecla.

Después de que se haya establecido la conexión VNC, se mostrará en su pantalla una advertencia que indica que la conexión no está cifrada, como se muestra 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 debe estar conectado de manera 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 Autentificación en su pantalla y su usuario no tenga privilegios de root, simplemente presione el botón Cancelar para continuar a CentOS Desktop , 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 los datos intercambiados (excepto la contraseña) se ejecutan en un canal sin cifrar. Para cifrar y asegurar 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 otro CentOS Desktop, 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 - & gt; Utilidades - & gt; Visor de escritorio remoto como se muestra en la siguiente captura de pantalla.

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

14. Otro cliente VNC popular para plataformas basadas en Linux es Remmina, es un cliente de escritorio remoto que se utiliza especialmente en las 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 de VNC en CentOS 7

15. En caso de que necesite ejecutar una nueva sesión paralela de VNC bajo el mismo usuario, abra una consola de Terminal, inicie sesión con el usuario que desea iniciar la nueva sesión de 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 de servidor VNC iniciada.

$ vncserver

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

$ ss -tlpn| grep Xvnc

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

Para detener las instancias del servidor VNC iniciadas con los permisos de usuario registrados, emita el siguiente comando sin ningún privilegio de raíz. Este comando destruirá todas las instancias de VNC iniciadas que solo son propiedad del usuario que las declaró.

$ su - your_user
$ killall Xvnc

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

Todos los derechos reservados © Linux-Console.net • 2019-2021