LINUX

Instalar y configurar VNC en Ubuntu 20.04

instalar y configurar vnc en Ubuntu 20.04

VNC son las siglas de Virtual Network Computing. Le ayuda a controlar su máquina Ubuntu de forma remota. El servidor VNC utiliza el protocolo Remote Frame Buffer (RFB) para controlar de forma remota otra computadora.

Cuando un personal de soporte técnico usa el teclado o el mouse, VNC transmitirá las señales desde el teclado y el mouse al servidor remoto. Hace que el trabajo de administración sea más fácil y conveniente con una interfaz gráfica de usuario. Además, VNC es más confiable que las conexiones SSH y RDP gráficas.

Este tutorial recorrerá los pasos de instalación y configuración de VNC en Ubuntu 20.04 usando TightVNC. Si está ejecutando un VNC en la versión anterior de Ubuntu 16.04, hay una guía para ello.

Instale el entorno de escritorio y el servidor VNC

En primer lugar, instalemos un entorno de escritorio en su servidor Ubuntu porque no está instalado de forma predeterminada. Hay muchas opciones: GNOME, MATE, XFCE, etc.

En este tutorial, elegiremos el XFCE. Es un entorno de escritorio liviano y ayuda a que la conexión VNC sea estable y fluida.

En su servidor Ubuntu, ejecute el siguiente comando para actualizar la lista de paquetes:

$ sudo apt update

Luego, instalemos el entorno de escritorio XFCE:

$ sudo apt install xfce4 xfce4-goodies gnome-icon-theme

Aquí estoy usando TightVNC servidor, otros servidores VNC populares son TigerVNC y x11vnc.

Instalar tightvnc:

$ sudo apt install tightvncserver

A continuación, ejecutemos una instancia de servidor VNC y debe establecer una contraseña para el servidor instalado:

$ vncserver

Como iniciamos el servidor por primera vez después de la instalación, nos pedirá que establezcamos una contraseña que el cliente usa para conectarse. También le pedirá que establezca una contraseña de solo lectura que permitirá al usuario ver la pantalla pero no interactuar con ella.

iniciar el vncserver
iniciar el vncserver

Observó que la longitud de la contraseña es de entre 6 y 8 caracteres. Si ingresa la contraseña más larga, se recortará automáticamente.

Si desea cambiar la contraseña del servidor VNC, ejecutemos:

$ vncpasswd

Configurar el servidor VNC

Cuando inicie la instancia del servidor VNC por primera vez, se creará el archivo de configuración inicial: ‘~ / .vnc / xstartup’ y el servidor VNC escuchará en el puerto 5901. Llamamos a este puerto como puerto de visualización. Podemos lanzar muchas instancias del servidor VNC y cada instancia tiene sus propios puertos de pantalla: la primera pantalla escucha en el puerto 5901, la segunda pantalla escucha en el puerto 5902 y así sucesivamente.

Es necesario configurar el servidor VNC para que se ejecute junto con el inicio del servidor Ubuntu. Además, debe indicar explícitamente a qué entorno de escritorio se conectará el servidor VNC.

En primer lugar, detengamos la instancia actual del servidor VNC que se ejecuta en el puerto TCP 5901:

$ vncserver -kill :1

vncserver -kill: 1

Luego haga una copia de seguridad del archivo de configuración actual:

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

Ahora, modifique el archivo ‘xstartup’ con su editor favorito como se muestra a continuación:

#!/bin/sh

xrdb $HOME/.Xresources
startxfce4 &

Reinicie el servidor VNC:

$ vncserver -localhost
vncserver -localhost
vncserver -localhost

Conéctese al servidor VNC

De forma predeterminada, el servidor VNC no usa el protocolo seguro. Para asegurar la conexión al servidor Ubuntu de forma remota, debe crear un túnel SSH e indicar que el cliente VNC se conecta al servidor VNC a través de ese túnel.

Establezcamos una conexión SSH en la máquina local que reenvía el tráfico al ‘localhost’ para VNC. Inicie el terminal en su máquina local (macOS o Linux), ejecute el siguiente comando:

$ ssh -L 59000:localhost:5901 -C -l <user> <server_ip_address>

Dónde:

-L 59000: localhost: 5901: el puerto en la máquina local es 59000 se reenviará al servidor de destino: localhost: 5901

-C: comprime los datos para acelerar la conexión

-l : indique el usuario al que iniciará sesión y la dirección IP del servidor Ubuntu 20.04

Configurar el túnel SSH en Windows

En caso de ejecutar un sistema operativo Windows, puede configurar el túnel SSH utilizando el cliente PuTTY SSH.

Abramos PuTTY y luego ingresemos la dirección IP de su servidor Ubuntu:

Dirección ip de en Putty
ingrese la dirección IP del servidor Ubuntu en Putty

A continuación, expanda el submenú Conexión> SSH> Túneles, ingrese ‘5901’ en el ‘Puerto de origen’ y ‘: 5901′ en el ‘Destino’. Luego, haga clic en el botón ‘Agregar’ como se muestra a continuación:

crear túnel ssh en masilla
túnel ssh en masilla

Al usar el túnel SSH, la conexión VNC a su servidor Ubuntu 20.04 solo permite máquinas que pueden enviar SSH al servidor. No permite que todas las máquinas se conecten al puerto 5901.

Ahora, puede conectarse al servidor Ubuntu de forma remota utilizando un cliente VNC. En este tutorial, usamos el visor VNC. Abra el cliente VNC y luego ingrese la dirección IP del servidor y el puerto 5901:

Ingrese la dirección IP del servidor Ubuntu y el puerto 5901
Ingrese la dirección IP del servidor Ubuntu y el puerto 5901

Se ha conectado correctamente al escritorio XFCE de su servidor Ubuntu:

visor vnc
visor vnc

Puede controlar el servidor como si estuviera trabajando con un servidor físico en su oficina. Por ejemplo, puede acceder al administrador de archivos, iniciar un programa o abrir la terminal:

Controla el servidor Ubuntu
Controla el servidor Ubuntu

Configure el servidor VNC como un servicio systemd

Al ejecutar el servidor VNC como un servicio del sistema, puede iniciarlo, detenerlo o reiniciarlo fácilmente cuando lo desee.

Creemos un nuevo archivo llamado ‘vncserver @ .service’ en el directorio ‘/ etc / systemd / system /’ en su servidor Ubuntu:

$ sudo vim /etc/systemd/system/vncserver@.service

Agregue el siguiente contenido al archivo ‘vncserver @ .service’ y asegúrese de editar los valores en las líneas 7, 8, 9 y 13 que coincidan con su entorno.

vncserver @ .service
vncserver @ .service
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

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

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Luego, vuelva a cargar el demonio del sistema:

$ sudo systemctl daemon-reload

Habilite el servicio:

$ sudo systemctl enable vncserver@1.service

Dónde:

@ 1.servicio: la primera pantalla asociada con el puerto 5901.

Producción:

Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@1.service → /etc/systemd/system/vncserver@.service.

Mata la instancia que se está ejecutando:

$ vncserver -kill :1

Killing Xtightvnc process ID 3159

Luego inicie ese servicio systemd nuevamente:

$ sudo systemctl start vncserver@1

Ahora, puede verificar si el servicio se ejecuta correctamente:

$ sudo systemctl status vncserver@1

Producción:

● vncserver@1.service - Start TightVNC server at startup
     Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-16 17:37:51 UTC; 2min 2s ago
    Process: 4611 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
    Process: 4615 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status>
   Main PID: 4623 (Xtightvnc)
      Tasks: 129 (limit: 7125)
     Memory: 187.5M
...

Conclusión

En este tutorial, aprendimos cómo instalar y configurar el servidor VNC en Ubuntu 20.04. Ahora, puede administrar su servidor Ubuntu de forma remota con una interfaz gráfica de usuario.

Gracias por leer y deje su sugerencia en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar