Si necesitas interactuar con un servidor remoto mediante una interfaz gráfica, puedes utilizar la tecnología VNC.
VNC (Virtual Network Computing) permite a los usuarios establecer una conexión remota con un servidor a través de una red. Funciona con una arquitectura cliente-servidor y utiliza el protocolo RFB para transmitir imágenes de pantalla y datos de entrada (como teclado o ratón). VNC es compatible con varios sistemas operativos, incluidos Ubuntu, Windows, macOS y otros. Otra ventaja de VNC es que permite que varios usuarios se conecten simultáneamente, lo cual resulta útil para colaboraciones en proyectos o sesiones de formación.
En esta guía, explicamos cómo instalar VNC en Ubuntu utilizando como ejemplo un servidor en la nube de Hostman con Ubuntu 22.04.
Antes de comenzar el proceso de instalación en el servidor y el equipo local, hay algunos requisitos previos:
Un servidor con Ubuntu 22.04. En este tutorial, utilizamos un servidor en la nube de Hostman con configuración mínima.
Seleccionar una interfaz gráfica. Necesitas elegir un entorno de escritorio para interactuar con el servidor una vez instalado.
Un ordenador con un cliente VNC instalado.
Actualmente, la única forma de comunicarse con un servidor alquilado que ejecuta Ubuntu 22.04 es mediante consola. Para habilitar la administración remota con GUI, debes instalar un entorno de escritorio junto con VNC en el servidor. A continuación, se enumeran algunos servidores VNC y entornos de escritorio disponibles para instalar en un servidor Ubuntu.
Servidores VNC:
TightVNC Server. Uno de los servidores VNC más populares para Ubuntu. Fácil de configurar y con buen rendimiento.
RealVNC Server. RealVNC ofrece una solución comercial para acceso remoto en distribuciones como Ubuntu, Debian, Fedora, Arch Linux y otras.
Entornos de escritorio:
Xfce. Entorno de escritorio ligero y rápido, ideal para sesiones remotas. Utiliza menos recursos que otros entornos, lo que lo hace ideal para servidores o máquinas virtuales.
GNOME. Entorno predeterminado de Ubuntu, con una interfaz moderna y amigable. Compatible con VNC, aunque consume más recursos que Xfce.
KDE Plasma. Otro entorno popular con muchas funciones y diseño atractivo.
La elección del servidor VNC y del entorno de escritorio dependerá de tus necesidades y recursos disponibles. TightVNC y Xfce son excelentes para sesiones remotas estables, ya que no requieren muchos recursos. En el siguiente paso, explicaremos cómo instalarlos en el servidor en detalle.
Conéctate al servidor e inicia sesión como usuario regular con derechos de administrador.
Actualizar la lista de paquetes
Una vez dentro del servidor, ejecuta el siguiente comando para actualizar los paquetes desde los repositorios conectados:
sudo apt update
Instalar el entorno de escritorio
A continuación, instala el entorno de escritorio que hayas seleccionado. Para instalar Xfce, usa el siguiente comando:
sudo apt install xfce4 xfce4-goodies
El primer paquete proporciona el entorno básico de Xfce, mientras que el segundo incluye aplicaciones y complementos adicionales (opcionales).
Instalar TightVNC Server
Para instalar TightVNC, introduce:
sudo apt install tightvncserver
Iniciar el servidor VNC
Una vez completada la instalación, inicializa el servidor VNC ejecutando:
vncserver
Este comando crea una nueva sesión VNC con un número de sesión específico, como :1
para la primera sesión, :2
para la segunda, etc. Este número corresponde a un puerto de visualización (por ejemplo, el puerto 5901 corresponde a :1
). Esto permite ejecutar múltiples sesiones VNC en la misma máquina.
Durante la primera configuración, el sistema te pedirá que establezcas una contraseña, que será necesaria para conectarse a la interfaz gráfica del servidor.
Establecer una contraseña de solo visualización (opcional)
Después de establecer la contraseña principal, se te preguntará si deseas configurar una contraseña de solo visualización. Este modo permite ver el escritorio remoto sin realizar cambios, lo que es útil para demostraciones o accesos restringidos.
Si necesitas cambiar las contraseñas establecidas anteriormente, usa el siguiente comando:
vncpasswd
Ahora ya tienes una sesión VNC activa.
En el siguiente paso, configuraremos VNC para que cargue el entorno de escritorio de Ubuntu al iniciar.
El servidor VNC necesita saber qué entorno de escritorio debe cargar. Para ello, editaremos un archivo de configuración específico.
Detener instancias activas de VNC
Antes de configurar, detén cualquier instancia activa del servidor VNC. En este ejemplo, detenemos la sesión en el puerto de visualización 5901:
vncserver -kill :1
Aquí, :1
es el número de sesión asociado al puerto 5901.
Crear una copia de seguridad del archivo de configuración
Antes de editar el archivo, crea una copia de seguridad con:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Editar el archivo de configuración
Abre el archivo de configuración con un editor de texto:
nano ~/.vnc/xstartup
Sustituye su contenido por lo siguiente:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
#!/bin/bash
: Indica que el script debe ejecutarse con el shell Bash.xrdb $HOME/.Xresources
: Carga las preferencias gráficas almacenadas en ese archivo.startxfce4 &
: Inicia el entorno de escritorio Xfce.Dar permisos de ejecución al archivo
Ejecuta el siguiente comando para que el archivo pueda ejecutarse:
chmod +x ~/.vnc/xstartup
Iniciar el servidor VNC con restricción a localhost
Con la configuración lista, inicia el servidor VNC restringiéndolo al host local:
vncserver -localhost
La opción -localhost
impide conexiones remotas directas desde otras máquinas. Sin embargo, podrás conectarte desde tu equipo mediante un túnel SSH. Estas conexiones serán tratadas como locales por el servidor VNC.
La configuración del servidor VNC está ahora completa.
Ahora instalaremos un cliente VNC. En este ejemplo, lo instalaremos en un ordenador con Windows 11.
Existen varios clientes VNC compatibles con diferentes sistemas operativos. Algunas opciones son:
Para esta guía utilizaremos TightVNC Viewer.
Descargar e instalar TightVNC Viewer
Ve al sitio web oficial de TightVNC, descarga el instalador y ejecútalo.
En la ventana de instalación, haz clic en Next y acepta los términos de la licencia. Luego, selecciona el modo de instalación personalizada y desactiva la opción de instalar el servidor VNC.
Haz clic en Next dos veces más y finaliza la instalación.
Configurar un túnel SSH para una conexión segura
Para cifrar tu acceso remoto al servidor VNC, utiliza SSH para crear un túnel seguro. En tu ordenador con Windows 11, abre PowerShell e introduce el siguiente comando:
ssh -L 56789:localhost:5901 -C -N -l nombredeusuario dirección_IP_del_servidor
Asegúrate de tener OpenSSH instalado. Si no lo tienes, consulta la documentación de Microsoft para instalarlo.
Este comando configura un túnel SSH que redirige la conexión de tu equipo local al servidor remoto a través de una conexión segura, haciendo que el servidor VNC crea que la conexión es local. A continuación explicamos las banderas utilizadas:
-L
configura el reenvío de puerto SSH, redirigiendo el puerto del equipo local al host y puerto del servidor especificados. En este caso, usamos el puerto 56789 porque no está ocupado por ningún servicio.-C
habilita la compresión de datos antes de transmitirlos por SSH.-N
indica a SSH que no debe ejecutar comandos una vez establecida la conexión.-l
especifica el nombre de usuario que se utilizará para conectar con el servidor.Conectarse con TightVNC Viewer
Después de crear el túnel SSH, abre TightVNC Viewer e introduce en el campo de conexión:
localhost:56789
Se te pedirá la contraseña que configuraste al iniciar el servidor VNC.
Una vez ingresada, te conectarás al servidor VNC y verás el entorno de escritorio Xfce.
Cerrar el túnel SSH
Para cerrar el túnel, vuelve a la ventana de PowerShell o consola en tu equipo local y presiona CTRL+C.
Esta guía te ha llevado paso a paso por el proceso de instalación y configuración de VNC en Ubuntu 22.04. Hemos utilizado TightVNC Server como servidor VNC, TightVNC Viewer como cliente y Xfce como entorno de escritorio para la interacción con el servidor.
Esperamos que esta tecnología facilite la administración remota de tu servidor, haciendo el proceso más simple y eficiente.
Hemos preparado también una guía detallada sobre cómo crear un servidor en Ubuntu en caso de que necesites ayuda adicional con su despliegue.