GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar y configurar VNC en CentOS 7

En este tutorial, lo guiaremos a través de los pasos para instalar y configurar un servidor VNC en un sistema CentOS 7. También le mostraremos cómo conectarse de forma segura al servidor VNC a través de un túnel SSH.

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.

Requisitos previos #

Antes de continuar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo. Asumiremos que ha iniciado sesión como un usuario llamado linuxize .

Instalando el entorno de escritorio Xfce #

Las instalaciones del servidor CentOS a menudo no vienen con un entorno de escritorio instalado, por lo que comenzaremos instalando un entorno de escritorio ligero.

Instalaremos Xfce. Es rápido, estable y consume pocos recursos del sistema, lo que lo hace ideal para su uso en servidores remotos.

Los paquetes de Xfce están disponibles en el repositorio de EPEL. Si el repositorio no está habilitado en su servidor, puede habilitarlo escribiendo:

sudo yum install epel-release

Una vez agregado el repositorio, instale Xfce en su CentOS con:

sudo yum groupinstall xfce

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

Instalando el Servidor VNC #

Usaremos TigerVNC como nuestro servidor VNC de elección. TigerVNCes un servidor VNC de código abierto de alto rendimiento mantenido activamente.

Escriba el siguiente comando para instalar TigerVNC en su servidor CentOS:

sudo yum install tigervnc-server

Ahora que el servidor VNC está instalado, el siguiente paso es ejecutar vncserver comando, que creará la configuración inicial y establecerá la contraseña. No use sudo cuando ejecute el siguiente comando:

vncserver

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.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/linuxize/.Xauthority does not exist

New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

La primera vez que vncserver se ejecuta el comando, creará y almacenará el archivo de contraseña en el ~/.vnc directorio que se creará si no está presente.

Tenga en cuenta el :1 después del nombre de host en la salida anterior. Esto indica el número de puerto de visualización en el que se ejecuta el servidor vnc. En nuestro caso, el servidor se ejecuta en el puerto TCP 5901 (5900+1). Si crea una segunda instancia con vncserver se ejecutará en el próximo puerto libre, es decir, :2 , lo que significa que el servidor se ejecuta en el puerto 5902 (5900+2).

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

Antes de continuar con el siguiente paso, primero detenga la instancia de VNC usando el vncserver comando con -kill opción y el número de servidor como argumento. En este caso, el servidor se ejecuta en el puerto 5901 (:1 ), así que lo detendremos con:

vncserver -kill :1
Killing Xvnc process ID 2432

Configuración del servidor VNC #

Ahora que tanto Xfce como TigerVNC están instalados en el servidor, el siguiente paso es configurar TigerVNC para usar Xfce. Para hacerlo, abra el siguiente archivo:

nano ~/.vnc/xstartup

Y cambie la última línea de exec /etc/X11/xinit/xinitrc a exec startxfce4 :

~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

Guarde y cierre el archivo. El script anterior se ejecutará automáticamente cada vez que inicie o reinicie el servidor TigerVNC.

Si necesita pasar opciones adicionales al servidor VNC, abra el ~/.vnc/config archivo y agregue una opción por línea. Las opciones más comunes se enumeran en el archivo. Descomenta y modifica a tu gusto.

Aquí hay un ejemplo:

~/.vnc/config
# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared
dpi=96

Creación de un archivo de unidad Systemd #

Crearemos un archivo de unidad systemd que nos permitirá iniciar, detener y reiniciar fácilmente el servicio VNC según sea necesario, al igual que cualquier otro servicio systemd.

Copie el archivo de la unidad vncserver con el cp comando:

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Abra el archivo con su editor de texto, edite las líneas resaltadas en amarillo y reemplace "linuxize" con su nombre de usuario real:

sudo nano /etc/systemd/system/vncserver@\:1.service
/etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=linuxize
Group=linuxize

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %I
PIDFile=/home/linuxize/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo. Notifique a systemd que creamos un nuevo archivo de unidad con:

sudo systemctl daemon-reload

El siguiente paso es habilitar el archivo de la unidad con el siguiente comando:

sudo systemctl enable vncserver@:1.service

El número 1 después de @ El signo define el puerto de visualización en el que se ejecutará el servicio VNC. En este ejemplo, ese es el 1 predeterminado. y el servidor VNC escuchará en el puerto 5901 , como comentamos en la sección anterior.

Inicie el servicio VNC ejecutando:

sudo systemctl start vncserver@:1.service

Verifique que el servicio se haya iniciado correctamente con:

sudo systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-04-06 19:27:47 UTC; 16s ago
  Process: 909 ExecStart=/usr/bin/vncserver %I (code=exited, status=0/SUCCESS)
  Process: 891 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 923 (Xvnc)
 ...

Conectando 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 que reenviará de forma segura el tráfico desde su máquina local en el puerto 5901 al servidor en el mismo puerto.

Configurar SSH Tunneling 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 server_ip_address

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

No olvide reemplazar username y server_ip_address con tu nombre de usuario y la dirección IP de tu servidor.

Configurar túneles SSH en Windows #

Si ejecuta Windows, puede configurar SSH Tunneling usando el cliente PuTTY SSH.

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

Bajo la Connection menú, expanda SSH y seleccione Tunnels . Introduzca el puerto del servidor VNC (5901 ) en el Source Port e ingrese server_ip_address:5901 en el Destination y haz clic en Add como se muestra en la siguiente imagen:

Volver a la Session pá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 Open botón

Conectando usando Vncviewer #

Ahora que configuró el túnel SSH, es hora de abrir su Vncviewer y conectarse al servidor VNC en localhost:5901 .

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

En este ejemplo, usaremos TigerVNC. Abra su visor VNC, ingrese localhost:5901 y haga clic en Connect botón.

Ingrese su contraseña cuando se le solicite, y debería ver el escritorio Xfce predeterminado. Debería ser algo como esto:

Ahora puede comenzar a interactuar con el escritorio XFCE remoto desde su máquina local usando su teclado y mouse.


Cent OS
  1. Cómo instalar y configurar VNC en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 18.04

  3. Cómo instalar y configurar un servidor NFS en CentOS 8

  4. Cómo instalar y configurar VNC en CentOS 8

  5. Cómo instalar y configurar Gitlab en CentOS 8

Cómo instalar el servidor VNC en CentOS 7

Cómo instalar el servidor VNC en CentOS 6

Cómo instalar el servidor VNC en CentOS 8

Cómo instalar y configurar Sandstorm Server en CentOS 8

Cómo instalar y configurar el servidor VNC (TigerVNC) en CentOS / RHEL 7

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