Cómo instalar el servidor VNC en Debian 11
La computación virtual en red (VNC) es un protocolo para compartir el escritorio que te permite controlar un ordenador de forma remota utilizando el software cliente VNC. VNC funciona en entornos GUI (Graphical User Interface), transmite los movimientos de tu ratón y la entrada del teclado a través de la red utilizando el protocolo Remote Frame Buffer (RFB).
Habitualmente, VNC se utiliza para que los técnicos controlen los escritorios de los clientes o para que alguien necesite acceder a su escritorio en la oficina desde su casa. El VNC se puede utilizar de forma segura a través de la red VPN o utilizando la conexión por túnel SSH.
En este tutorial, aprenderás a instalar un servidor VNC en Debian 11 Bullseye. Este tutorial utiliza los paquetes TigerVNC para habilitar el servidor VNC, y también aprenderás a instalar Entornos de Escritorio (ED) como los escritorios Gnome, XFCE, Mate. Por último, aprenderás a conectarte a tu servidor VNC a través de una conexión segura por túnel SSH.
Requisitos previos
Antes de empezar, asegúrate de que tienes los siguientes requisitos
- Un servidor Debian 11 Bullseye con al menos 1 GB de RAM. Si piensas utilizar un DE moderno para tu servidor VNC, necesitarás más de 1 GB de RAM. Puedes utilizar un DE más ligero si tienes un servidor con sólo 1 GB de RAM.
- Un usuario no root con privilegios de root. O puedes utilizar el usuario root.
Instalación del entorno de escritorio
Para empezar a utilizar el servidor VNC, tendrás que instalar el Entorno de Escritorio (ED) en tu sistema. En Linux, hay varios DE disponibles, puedes instalar el DE que prefieras. Puedes instalar DE ligeros como XFCE o Mate Desktop en un servidor con pocos recursos, o puedes instalar DE modernos como Gnome en un servidor con muchos recursos.
En esta sección, instalarás DE en el sistema Debian 11. Elige entre las siguientes DE: Gnome, XFCE o Mate desktop como tu DE preferida.
1. Para instalar el entorno de escritorio, primero, actualiza tu índice de paquetes ejecutando el comando ‘apt’ que aparece a continuación.
sudo apt update
2. Ahora, instala tu DE preferido ejecutando el siguiente comando.
Instala el escritorio XFCE ejecutando el siguiente comando.
sudo apt install task-xfce-desktop dbus-x11
Si prefieres el escritorio Mate, instálalo utilizando el siguiente comando.
sudo apt install task-mate-desktop dbus-x11
Y para el escritorio GNOME, puedes utilizar el siguiente comando.
sudo apt install task-gnome-desktop dbus-x11
Ahora que has instalado el DE en tu sistema, el siguiente paso de este tutorial es crear un nuevo usuario e instalar los paquetes de TigerVNC.
Crear un nuevo usuario de Linux
Aunque puedes utilizar el usuario root para tu servidor VNC, por razones de seguridad, se recomienda utilizar un usuario no root. En esta sección, crearás un nuevo usuario y lo añadirás al grupo«sudo«. Esto permite al usuario obtener los privilegios de root utilizando el comando sudo.
1. Ejecuta el siguiente comando para añadir un nuevo usuario y establecer la contraseña. En este ejemplo, crearemos un nuevo usuario‘johndoe‘.
sudo useradd -m -s /bin/bash johndoe
passwd johndoe
La opción -m creará automáticamente un directorio principal para el nuevo usuario. la opción‘-s /bin/bash‘ se utiliza para especificar el shell para el nuevo usuario, escribe la ruta completa del shell binario.
Este comando te pedirá una contraseña. Introduce tu contraseña fuerte y repítela.
2. Ahora, añade tu nuevo usuario al grupo«sudo» ejecutando el siguiente comando. Esto permite al usuario obtener los privilegios de root y ejecutar la aplicación utilizando los privilegios de root.
sudo usermod -aG sudo johndoe
3. A continuación, inicia la sesión como tu nuevo usuario y verifica los privilegios de root de sudo mediante el siguiente comando.
su - johndoe
sudo su
Se te pedirá la contraseña. Introduce tu contraseña y pulsa ENTER. Y como resultado, tu prompt se convertirá en‘root@hostname‘, lo que significa que te has convertido en root.
Instalación de TigerVNC Server Debian 11
En esta sección, instalarás los paquetes de TigerVNC y configurarás VNC Server en tu sistema Debian 11. Esto incluye la configuración de un servidor VNC para un usuario concreto con su autentificación y la configuración del DE por defecto. El Servidor VNC funciona por usuario, cada usuario tiene su pantalla específica, su configuración de DE y su servicio systemd.
1. Para instalar los paquetes TigerVNC, ejecuta el comando‘apt‘ que aparece a continuación.
sudo apt install tigervnc-standalone-server tigervnc-common -y
2. Ya has instalado los paquetes TigerVNC. A continuación, inicia la sesión como tu usuario no root, y luego inicializa el servidor VNC ejecutando el siguiente comando.
su - johndoe
vncserver
3. Se te pedirá que crees una nueva contraseña para tu Servidor VNC. Introduce tu contraseña y repítela. La contraseña no debe tener más de 8 caracteres, o será rechazada.
You will require a password to access your desktops.
Password:
Verify:
4. Ahora se te pedirá que crees una contraseña de sólo lectura. Esto es útil cuando quieres compartir tu Servidor VNC pero dando sólo acceso de «sólo vista». Como por ahora no la necesitamos, escribe‘n‘ de no y pulsa ENTER.
Would you like to enter a view-only password (y/n)? n
5. Una vez completada la inicialización, recibirás la siguiente salida. Puedes resaltar esta salida‘bullseye64:1 (johndoe)‘, que significa que el servidor VNC se está ejecutando en el servidor‘bullseye64‘ con la pantalla ‘:1‘ como usuario‘johndoe‘.
New Xtigervnc server 'bullseye64:1 (johndoe)' on port 5901 for display :1.
User xtigervncviewer -SecurityTypes VncAuth -passwd /home/johndoe/.vnc/passwd :1 to connecto to the VNC server.
Configurar XFCE como entorno de escritorio por defecto
Llegados a este punto, has inicializado el servidor VNC para tu usuario. Todas las configuraciones relacionadas con el servidor VNC se generan en el directorio‘~/.vnc’. A continuación, configurarás el DE por defecto para tu servidor VNC.
1. Antes de empezar, termina la pantalla del servidor VNC ‘:1‘ ejecutando el siguiente comando.
vncserver -kill bullseye64:1
Obtendrás la salida que se muestra a continuación.
Killing Xtigervnc process ID 1635... success!
2. Para configurar el DE por defecto para el servidor VNC, tendrás que modificar/recrear el archivo ‘xstartup’ en el directorio ‘~/.vnc’. Este script se ejecutará automáticamente cuando se ejecute el servidor VNC.
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup
3. Introduce el siguiente script en el archivo. Y asegúrate de cambiar el ‘startxfce4’ por el comando para iniciar tu DE. Este ejemplo utiliza el XFCE como DE por defecto.
bash
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Guarda y cierra el archivo.
4. Ahora, haz que el script‘xstartup‘ sea ejecutable ejecutando el siguiente comando.
chmod +x ~/.vnc/xstartup
Ahora has completado la configuración del DE por defecto para tu servidor VNC.
Añadir un usuario a TigerVNC e iniciar el servicio
Para que el servidor TigerVNC funcione, tendrás que añadir tu usuario y el número de pantalla al archivo ‘/etc/tigervnc/vncserver.users’, y luego iniciar y habilitar el servicio TigerVNC.
1. Modifica el archivo ‘vncserver.users’ utilizando nano o tu editor preferido.
sudo nano /etc/tigervnc/vncserver.users
Define el número de pantalla seguido del usuario como se indica a continuación. Este ejemplo utiliza el número de pantalla ‘:1‘ para el usuario‘johndoe‘.
:1=johndoe
Guarda y sal del archivo.
2. A continuación, ejecuta el siguiente comando para iniciar y habilitar el servicio TigerVNC para el número de pantalla ‘:1’. Si tienes varios usuarios y servidores VNC, cambia el número de pantalla para cada usuario, como ‘:2‘, ‘:3‘, y así sucesivamente.
sudo systemctl enable --now tigervncserver@:1.service
3. Ahora, verifica el estado del servicio TigerVNC ejecutando el siguiente comando.
sudo systemctl status tigervncserver@:1.service
Recibirás una salida como la de la siguiente captura de pantalla. El servicio TigerVNC para la pantalla ‘:1′ está ‘activo (en ejecución)’, y se está ejecutando con el escritorio XFCE.
Conectar con el servidor VNC de forma segura con el túnel SSH
En este momento, has completado la instalación del servidor VNC en el Bullseye de Debian 11 con los paquetes TigerVNC. En esta sección, te conectarás a tu servidor VNC de forma segura a través de un túnel SSH.
1. Antes de empezar, asegúrate de haber instalado el Visor VNC en tu ordenador/portátil local. Puedes utilizar RealVNC Viewer, que se puede instalar en sistemas Linux, Windows y macOS.
2. Ahora, para iniciar el túnel SSH, ejecuta el siguiente comando ssh en tu ordenador local. Y asegúrate de cambiar el ‘nombre de usuario’ y la dirección IP‘192.168.1.10’ con la dirección IP de tu servidor VNC.
ssh -L 5901:127.0.0.1:5901 -N -f -l username t 192.168.1.10
Opciones que debes conocer:
- La opción ‘-L 5901:127.0.0.1:5901’ crea el proceso de tunelización.
- -N impide que los usuarios ejecuten el comando remoto al servidor SSH.
- -f hace que el ssh pase a segundo plano.
- -l nombre de usuario especifica tu nombre de usuario para ssh.
Este comando creará un túnel en el localhost con el puerto 5901 hacia el servidor‘192.168.1.10‘ en el puerto‘5901‘. Ahora, puedes conectarte a tu servidor VNC utilizando el localhost con el puerto ‘5901‘.
3. Abre tu aplicación de visualización VNC y conéctate al ‘localhost:5901‘ como se indica a continuación. Se te pedirá la contraseña de tu servidor VNC. Introduce la contraseña correcta.
4. Una vez conectado al servidor VNC, verás el escritorio de tu servidor VNC. A continuación se muestra la captura de pantalla del escritorio XFCE.
En esta sección, has conectado con éxito al servidor VNC de forma segura a través del túnel SSH.
Conclusión
En este tutorial, has aprendido la instalación del servidor VNC en Debian 11 Bullseye utilizando el TigerVNC. Además, has aprendido la instalación de varios Entornos de Escritorio en el sistema Debian, y cómo configurar el DE por defecto y configurar TigerVNC como tu aplicación de servidor VNC.
Al final, has aprendido a conectarte a tu servidor VNC de forma segura a través del túnel SSH desde tu ordenador local al servidor VNC.