Ubuntu Cloud · 5 min read · Feb 05, 2026

Instalando Ubuntu Cloud como Escritorio Remoto habilitado para RDP en un entorno Openstack sin conexión

En este tutorial, implementaremos un host Linux habilitado para RDP que sirva como Escritorio Remoto en un entorno de acceso limitado (sin conectividad a internet). Un requisito adicional es que múltiples usuarios puedan compartir las mismas credenciales para este host.

Para ese propósito, utilizaremos dos instancias espejo de servidores Ubuntu Cloud, una en línea y la otra fuera de línea, para que los paquetes correctos puedan ser desplegados en el servidor fuera de línea. Además, se ha elegido el escritorio Xfce4 debido a su capacidad de abrir múltiples sesiones para un solo usuario. En el momento en que se escribió el tutorial, Gnome no contaba con esta característica.

Instalación fuera de línea

Para permitir la instalación en un sistema fuera de línea, implementaremos un sistema idéntico en un VirtualBox en línea, utilizando la siguiente secuencia de comandos para cada paquete:

En el sistema en línea:

sudo apt-get install --download-only 

Copia los paquetes de /var/cache/apt/archives en línea a la PC (usando un cliente sftp o la carpeta compartida de VirtualBox) y de la PC al sistema fuera de línea. Luego, en ambos sistemas:

dpkg -i /var/cache/apt/archives/*.deb

Finalmente, limpia los archivos de apt:

apt-get clean

Descargar imagen de Ubuntu cloud

Usa este enlace. Para OpenStack, utilizaremos la extensión img, equivalente a qcow2. Para VirtualBox, necesitamos el ova, que ya contiene un archivo de disco vmdk.

Crear las dos Máquinas Virtuales

En OpenStack:

Sube la imagen a glance:

glance image-create --name "Imagen de Ubuntu Cloud" --file ubuntu-18.04-server-cloudimg-amd64.img --is-public False --container-format bare --disk-format qcow2

Crea una plantilla caliente, aquí hay un ejemplo con una IP fija y espacio en disco adicional:

heat_template_version: 2018-04-30  
  
description: Despliegue de Escritorio Remoto  
  
resources:  
  
 port_vm:  
    type: OS::Neutron::Port  
    properties:  
      network:   
      fixed_ips:  
         - subnet:   
           ip_address:   
  
 server:  
    type: OS::Nova::Server  
    properties:  
      name:   
      flavor:   
      availability_zone:   
      networks:  
        - port: { get_resource: port_vm }  
  
   new_volume:  
      type: OS::Cinder::Volume  
      properties:  
        size:   
  
   volume_attachment:  
      type: OS::Cinder::VolumeAttachment  
      properties:  
        volume_id: { get_resource: new_volume }  
        instance_uuid: { get_resource: server }

Crea la pila, la instancia se lanza automáticamente:

heat stack-create -f  -e  

Conéctate a la consola, asegúrate de que la VM se haya iniciado correctamente. Reinicia con Ctrl-Alt Del y presiona Left-Shift para acceder al modo de recuperación y cambiar la contraseña de root.

En VirtualBox:

Importa el archivo ova como un nuevo aparato. Asegúrate de activar un puerto serie, puede permanecer desconectado, se utiliza para omitir uno de los pasos durante la inicialización de la nube. Además, asegúrate de seleccionar el adaptador de red en modo puente y asociarlo a la interfaz de red del host que tiene acceso a internet.

Arranca con Left-Shift presionado y accede al modo de recuperación de GRUB. Allí puedes cambiar la contraseña de root a lo que prefieras. Arranca e inicia sesión normalmente esta vez.

Ejecuta parted para corregir los datos de la partición:

Particionando usando parted

Acepta para arreglar GPT, luego usa “resizepart” para aprovechar todo el espacio existente en el disco:

Redimensionar partición

Sal de parted y usa resize2fs para ajustar el sistema de archivos:

Ahora df -h debería mostrar 10G disponibles.

Verificar conectividad IP

A pesar de que Openstack puede proporcionar la dirección IP correcta a través de DHCP, configuraremos una estática en ambos entornos. Crea un archivo con extensión yaml en /etc/netplan, establece la dirección IP y la puerta de enlace de acuerdo:

network:  
       version: 2  
       renderer: networkd  
       ethernets:  
               enp0s3:  
                       dhcp4: no  
                       addresses: [192.168.1.100/24]  
                       gateway4: 192.168.1.1  
                       nameservers:  
                               addresses: [192.168.1.1]

Aplica la nueva configuración:

netplan apply

Ahora la conectividad debería funcionar desde la VM a la puerta de enlace y tu PC a ambas VMs.

Tan pronto como se proporcione conectividad a internet en la VM de VirtualBox, asegúrate de actualizar apt:

apt-get update

Ten en cuenta que, si optas por instalar Gnome en lugar del escritorio Xfce4, necesitarás reemplazar networkd por NetworkManager tan pronto como termines esta instalación.

Configurar SSH

Habilitaremos el acceso ssh como root. Edita el archivo por defecto /etc/ssh/sshd_config:

  • Habilita las 3 HostKeys
  • Establece PermitRootLogin en yes
  • Desactiva HostBasedAuthentication
  • Habilita la contraseña en texto claro (PasswordAuthentication yes, PermitEmptyPasswords no)

También verifica en /etc/ssh la presencia de archivos de clave de host, en VirtualBox suelen faltar. Genera nuevos usando ssh-keygen:

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ""  
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -t ecdsa -N ""  
ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ed25519 -N ""

Reinicia el servicio:

service sshd restart

Ahora deberías poder ssh a las nuevas VMs. Si lo prefieres, puedes generar un par de claves privadas/públicas para reemplazar la contraseña en texto claro.

Instalar Xfce4

Estos son los pasos para instalar el escritorio xfce4 en Ubuntu.

En VirtualBox:

apt-get update  
apt-get install --download-only xfce4 xfce4-terminal gnome-icon-theme-full tango-icon-theme  
dpkg -i /var/cache/apt/archives/*.deb

Luego copia los paquetes deb de /var/cache/apt/archives a la VM de Openstack. No olvides limpiar /var/cache/apt/archives.

En Openstack:

dpkg -i /var/cache/apt/archives/*.deb  
apt-get clean

Después de eso, para las dos VMs agrega un nuevo usuario ubuntu y agrégalo al grupo sudo:

adduser ubuntu  
usermod -aG sudo ubuntu

Solo presiona ENTER para todas las preguntas y eso es todo. El directorio home se agrega automáticamente.

Instalar XRDP

Cambia el usuario a ubuntu para que XRDP realice la configuración requerida en /home/ubuntu.

En VirtualBox:

sudo apt-get install --download-only xrdp  
sudo dpkg -i /var/cache/apt/archives/*.deb

Copia los paquetes deb de /var/cache/apt/archives a la VM de Openstack. Limpia /var/cache/apt/archives.

En Openstack:

sudo dpkg -i /var/cache/apt/archives/*.deb  
sudo apt-get clean

Configura XRDP en ambos:

Edita /etc/xrdp/sesman.ini y establece Policy=UBDC. Esto habilita múltiples sesiones con el mismo nombre de usuario.

Edita /etc/xrdp/startwm.sh, añadiendo startxfce4 al final:

#!/bin/sh  
  
if [ -r /etc/default/locale ]; then  
. /etc/default/locale  
export LANG LANGUAGE  
fi  
  
unset SESSION_MANAGER  
unset DBUS_SESSION_BUS_ADDRESS  
startxfce4

Reinicia el servicio XRDP:

sudo service xrdp restart

Instalar navegadores web

Los navegadores web necesitan ser añadidos a Xfce4. Busca el deb de Google Chrome en internet e instálalo usando dpkg.

Puedes obtener Firefox directamente de los repositorios de Ubuntu.

En VirtualBox:

sudo apt-get install --download-only firefox  
sudo dpkg -i /var/cache/apt/archives/*.deb

Copia los paquetes deb de /var/cache/apt/archives a la VM de Openstack. Limpia /var/cache/apt/archives.

En Openstack:

sudo dpkg -i /var/cache/apt/archives/*.deb  
sudo apt-get clean

Agrega accesos directos para cada navegador en la barra de tareas y/o en el escritorio.

Y eso es todo. Abre múltiples sesiones RDP al servidor y verifica que todo esté funcionando.

¡Salud!

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.