Ubuntu Cloud · 4 min read · Feb 05, 2026
Установка Ubuntu Cloud с поддержкой RDP в оффлайн-окружении Openstack

В этом руководстве мы будем развертывать Linux-хост с поддержкой RDP, который будет служить удаленным рабочим столом в среде с ограниченным доступом (без подключения к интернету). Дополнительным требованием является возможность использования одних и тех же учетных данных несколькими пользователями для этого хоста.
Для этой цели мы будем использовать два зеркальных экземпляра серверов Ubuntu Cloud, один онлайн и другой оффлайн, чтобы на оффлайн-сервер можно было развернуть правильные пакеты. Также был выбран рабочий стол Xfce4 из-за его возможности открытия нескольких сеансов для одного пользователя. На момент написания руководства Gnome не поддерживал эту функцию.
Оффлайн установка
Чтобы разрешить установку в оффлайн-системе, мы будем развертывать идентичную систему в онлайн VirtualBox, используя следующую последовательность команд для каждого пакета:
На онлайн-системе:
sudo apt-get install --download-only Скопируйте пакеты из онлайн /var/cache/apt/archives на ПК (используя либо клиент sftp, либо общую папку VirtualBox) и с ПК на оффлайн-систему. Затем на обеих системах:
dpkg -i /var/cache/apt/archives/*.debНаконец, очистите архивы apt:
apt-get cleanСкачайте образ Ubuntu Cloud
Используйте эту ссылку. Для OpenStack мы будем использовать расширение img, эквивалентное qcow2. Для VirtualBox нам нужен ova, который уже содержит файл диска vmdk.
Создайте две виртуальные машины
В OpenStack:
Загрузите изображение в glance:
glance image-create --name "Ubuntu Cloud image" --file ubuntu-18.04-server-cloudimg-amd64.img --is-public False --container-format bare --disk-format qcow2Создайте горячий шаблон, вот пример с одним фиксированным IP и дополнительным дисковым пространством:
heat_template_version: 2018-04-30
description: Развертывание удаленного рабочего стола
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 } Создайте стек, экземпляр автоматически запустится:
heat stack-create -f -e Подключитесь к консоли, убедитесь, что ВМ успешно загрузилась. Перезагрузите с помощью Ctrl-Alt Del и нажмите Left-Shift, чтобы получить доступ к режиму восстановления и изменить пароль root.
В VirtualBox:
Импортируйте файл ova как новое устройство. Убедитесь, что активирован последовательный порт, он может оставаться отключенным, он используется для обхода одного из шагов во время инициализации облака. Также убедитесь, что выбрали сетевой адаптер в режиме моста и связали его с сетевым интерфейсом хоста, который имеет доступ в интернет.
Загрузитесь с нажатой клавишей Left-Shift и получите доступ к режиму восстановления GRUB. Там вы можете изменить пароль root на любой, который вам нравится. Загрузитесь и войдите в систему нормально на этот раз.
Запустите parted, чтобы исправить данные раздела:

Примите исправление GPT, затем используйте “resizepart”, чтобы использовать все существующее пространство на диске:

Выйдите из parted и используйте resize2fs для настройки файловой системы:
Теперь df -h должен отображать 10G доступного.
Проверьте IP-соединение
Несмотря на то, что Openstack может предоставить правильный IP-адрес через DHCP, мы будем настраивать статический в обеих средах. Создайте файл с расширением yaml в /etc/netplan, установите IP-адрес и шлюз соответственно:
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]Примените новую конфигурацию:
netplan applyТеперь соединение должно работать от ВМ к шлюзу и от вашего ПК к обеим ВМ.
Как только интернет-соединение будет предоставлено в VirtualBox ВМ, обязательно обновите apt:
apt-get updateОбратите внимание, что если вы решите установить Gnome вместо рабочего стола Xfce4, вам нужно будет заменить networkd на NetworkManager, как только вы закончите эту установку.
Настройка SSH
Мы будем включать доступ root по ssh. Отредактируйте файл по умолчанию /etc/ssh/sshd_config:
- Включите все 3 HostKeys
- Установите PermitRootLogin в yes
- Отключите HostBasedAuthentication
- Включите пароль в открытом виде (PasswordAuthentication yes, PermitEmptyPasswords no)
Также проверьте /etc/ssh на наличие файлов hostkey, в VirtualBox они обычно отсутствуют. Сгенерируйте новые с помощью 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 ""Перезапустите службу:
service sshd restartТеперь вы должны иметь возможность ssh к новым ВМ. Если хотите, вы можете сгенерировать пару ключей (приватный/публичный), чтобы заменить пароль в открытом виде.
Установка Xfce4
Это шаги для установки рабочего стола xfce4 в Ubuntu.
В 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Затем скопируйте deb-пакеты из /var/cache/apt/archives на Openstack ВМ. Не забудьте очистить /var/cache/apt/archives.
В Openstack:
dpkg -i /var/cache/apt/archives/*.deb
apt-get cleanПосле этого для двух ВМ добавьте нового пользователя ubuntu и добавьте его в группу sudo:
adduser ubuntu
usermod -aG sudo ubuntuПросто нажмите ENTER для всех вопросов, и на этом все. Домашний каталог добавляется автоматически.
Установка XRDP
Смените пользователя на ubuntu, чтобы XRDP выполнил необходимую конфигурацию в /home/ubuntu.
В VirtualBox:
sudo apt-get install --download-only xrdp
sudo dpkg -i /var/cache/apt/archives/*.debСкопируйте deb-пакеты из /var/cache/apt/archives на Openstack ВМ. Очистите /var/cache/apt/archives.
В Openstack:
sudo dpkg -i /var/cache/apt/archives/*.deb
sudo apt-get cleanНастройте XRDP на обеих:
Отредактируйте /etc/xrdp/sesman.ini и установите Policy=UBDC. Это позволяет использовать несколько сеансов с одним и тем же именем пользователя.
Отредактируйте /etc/xrdp/startwm.sh, добавив startxfce4 в конец:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4Перезапустите службу XRDP:
sudo service xrdp restartУстановка веб-браузеров
Веб-браузеры необходимо добавить в Xfce4. Найдите deb Google Chrome в интернете и установите его с помощью dpkg.
Вы можете получить Firefox напрямую из репозиториев Ubuntu.
В VirtualBox:
sudo apt-get install --download-only firefox
sudo dpkg -i /var/cache/apt/archives/*.debСкопируйте deb-пакеты из /var/cache/apt/archives на Openstack ВМ. Очистите /var/cache/apt/archives.
В Openstack:
sudo dpkg -i /var/cache/apt/archives/*.deb
sudo apt-get cleanДобавьте ярлыки для каждого браузера на панель задач и/или рабочий стол.
И на этом все. Откройте несколько RDP-сессий к серверу и проверьте, что все работает.
Ура!
Get new posts in your inbox
No spam. Unsubscribe anytime.