Un servidor Linux no tiene pantalla, y casi siempre no la necesita. A veces sí: un navegador que tiene que salir desde la dirección del propio servidor, una herramienta solo gráfica o un escritorio que puedes dejar abierto y retomar desde cualquier ordenador. Esta guía añade a Ubuntu 24.04 el escritorio ligero XFCE y xrdp, para que lo abras con la misma aplicación de Escritorio remoto que usarías con un servidor Windows.
Probamos cada paso en nuestra imagen de Ubuntu 24.04. Dos ajustes por defecto estropearon el primer intento, y abajo corregimos los dos. Necesitarás un usuario normal con sudo; la guía de configuración de Ubuntu crea uno. En los ejemplos se llama deploy.
1. Instala XFCE y xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
En nuestro servidor de 2 GB tardó unos cuatro minutos y medio y ocupó 1,7 GB de disco (2,7 GB usados antes, 4,4 GB después). Instala xrdp 0.9.24, que arranca enseguida y escucha en el puerto 3389.
2. Haz que xrdp arranque XFCE, no GNOME
Entra con el usuario que va a usar el escritorio y ejecuta:
echo xfce4-session > ~/.xsession
Sin este archivo, nuestro primer inicio de sesión arrancó GNOME en lugar de XFCE, y la sesión murió al instante con «Oh no! Something has gone wrong». Los paquetes del paso 1 instalan también el gestor de sesiones de GNOME, y Ubuntu lo deja como opción por defecto. Con ~/.xsession en su sitio, xrdp arranca XFCE.
3. Deja que xrdp use TLS
xrdp funciona con su propio usuario xrdp, y ese usuario no puede leer la clave privada del servidor. Nuestra primera conexión funcionó, pero /var/log/xrdp.log mostraba por qué no había que fiarse de ella:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Sin la clave, xrdp recurre al antiguo cifrado RDP en lugar de TLS. Dale acceso y reinícialo:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
La siguiente conexión aparecía en nuestro registro como TLS connection established ... TLSv1.3. Puedes comprobar la tuya del mismo modo:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Mantén el puerto 3389 fuera de internet
Una vez instalado, xrdp escucha en todas las direcciones. A diferencia de Windows, xrdp no tiene Network Level Authentication, así que cualquiera que llegue al puerto obtiene una pantalla de inicio de sesión en la que probar contraseñas. Haz que escuche solo en el propio servidor:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
La última línea debe mostrar 127.0.0.1:3389. En nuestra prueba, una conexión directa a la dirección del servidor en el 3389 pasó a ser rechazada, y el túnel del paso siguiente siguió funcionando.
5. Conéctate a través de SSH
En tu ordenador, abre un túnel. En Windows, PowerShell tiene el mismo comando ssh:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
En un plan NAT, añade -p y el puerto SSH personal de tu panel. Deja esa ventana abierta. Después apunta tu aplicación de Escritorio remoto a localhost:13389 y entra como deploy con la contraseña de ese usuario:
- Windows: Conexión a Escritorio remoto (
mstsc). - macOS: Windows App, de la App Store.
- Linux: Remmina, o
xfreerdp /v:localhost:13389 /u:deploy.
El puerto local es 13389 y no 3389 porque el 3389 puede estar ya ocupado en tu ordenador por su propio Escritorio remoto. La primera vez, la aplicación avisa de un certificado que no reconoce. Es el certificado autofirmado del servidor, y la conexión ya va cifrada dentro de SSH.
6. Qué obtienes
Obtienes un escritorio XFCE con panel, gestor de archivos y terminal. En nuestro servidor, una sesión añadió unos 360 MB de RAM: 388 MB usados antes de conectar y 747 MB durante la sesión.
Cerrar la ventana de Escritorio remoto no cierra la sesión. En nuestra prueba, un comando largo siguió en marcha tras desconectarnos. Al volver a conectar, xrdp nos devolvió a la misma sesión (reconnected session ... display :10 en su registro). Para terminar la sesión de verdad, usa Log Out en el menú de XFCE.
Qué plan elegir
El escritorio necesita más RAM que CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/mes) mueve XFCE y herramientas ligeras sin problema. Si piensas tener un navegador abierto en la sesión, elige Small con 4 vCPU y 4 GB por $8/mes. Los dos son planes NAT, y aquí no importa: el Escritorio remoto pasa por tu puerto SSH.
Si lo que necesitas en realidad es software de Windows, un VPS Windows lo ejecuta directamente, y Windows-Small empieza en $11/mes. Ubuntu 24.04 está en la página de Ubuntu VPS y en todos los planes Linux de VPS. El pago es en USDT, USDC o ETH en Base, Ethereum o Polygon.
Comentarios
Aún no hay comentarios. Sé el primero.