У Linux-сервера немає екрана, і зазвичай він йому не потрібен. Але буває інакше: браузер, який має працювати з адреси самого сервера, інструмент лише з графічним інтерфейсом або робочий стіл, який можна залишити ввімкненим і повернутися до нього з будь-якого комп'ютера. Цей посібник додає в Ubuntu 24.04 легкий робочий стіл XFCE і xrdp, щоб відкривати його тим самим застосунком «Віддалений робочий стіл», що й Windows-сервер.
Ми перевірили кожен крок на нашому образі Ubuntu 24.04. Два налаштування за замовчуванням зламали першу спробу, і нижче ми виправляємо обидва. Знадобиться звичайний користувач із sudo — його створює посібник із налаштування Ubuntu. У прикладах він називається deploy.
1. Встановіть XFCE і xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
На нашому сервері з 2 ГБ це забрало близько чотирьох з половиною хвилин і 1,7 ГБ диска (було зайнято 2,7 ГБ, стало 4,4 ГБ). Ставиться xrdp 0.9.24, він одразу запускається і слухає порт 3389.
2. Нехай xrdp запускає XFCE, а не GNOME
Увійдіть під користувачем, який працюватиме за робочим столом, і виконайте:
echo xfce4-session > ~/.xsession
Без цього файлу наш перший вхід запустив GNOME замість XFCE, і сесія одразу впала з «Oh no! Something has gone wrong». Пакети з кроку 1 заодно ставлять менеджер сеансів GNOME, і Ubuntu робить його варіантом за замовчуванням. З ~/.xsession xrdp запускає XFCE.
3. Дайте xrdp використовувати TLS
xrdp працює від власного користувача xrdp, і цей користувач не може прочитати закритий ключ сервера. Перше підключення в нас пройшло, але /var/log/xrdp.log показав, чому йому не варто довіряти:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Без ключа xrdp відкочується на старе шифрування RDP замість TLS. Дайте йому доступ і перезапустіть:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
Наступне підключення в нашому журналі мало вигляд TLS connection established ... TLSv1.3. Свій сервер можна перевірити так само:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Не випускайте порт 3389 в інтернет
Після встановлення xrdp слухає на всіх адресах. На відміну від Windows, у xrdp немає Network Level Authentication, тож будь-хто, хто дотягнеться до порту, отримає екран входу, на якому можна підбирати паролі. Нехай він слухає лише на самому сервері:
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
В останньому рядку має бути 127.0.0.1:3389. У нашому тесті пряме підключення до адреси сервера на 3389 після цього відхилялося, а тунель із наступного кроку працював далі.
5. Підключайтеся через SSH
На своєму комп'ютері відкрийте тунель. У Windows та сама команда ssh є в PowerShell:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
На тарифі з NAT додайте -p і персональний SSH-порт із кабінету. Не закривайте це вікно. Потім спрямуйте застосунок віддаленого робочого стола на localhost:13389 і увійдіть як deploy з паролем цього користувача:
- Windows: «Підключення до віддаленого робочого стола» (
mstsc). - macOS: Windows App з App Store.
- Linux: Remmina або
xfreerdp /v:localhost:13389 /u:deploy.
Локальний порт 13389, а не 3389, бо 3389 на вашому комп'ютері може вже займати його власний віддалений робочий стіл. Першого разу застосунок попередить про незнайомий сертифікат. Це самопідписаний сертифікат сервера, а з'єднання й так зашифроване всередині SSH.
6. Що ви отримаєте
Ви отримаєте робочий стіл XFCE з панеллю, файловим менеджером і терміналом. На нашому сервері одна сесія додала близько 360 МБ пам'яті: 388 МБ зайнято до підключення і 747 МБ під час сесії.
Якщо закрити вікно віддаленого робочого стола, виходу із системи не буде. У нашому тесті довга команда працювала далі після відключення. Коли ми підключилися знову, xrdp повернув нас у ту саму сесію (reconnected session ... display :10 у його журналі). Щоб справді завершити сесію, натисніть Log Out у меню XFCE.
Який тариф
Робочому столу важливіша пам'ять, ніж процесор. Micro (2 vCPU, 2 ГБ, 25 ГБ, $5/міс) спокійно тягне XFCE і легкі інструменти. Якщо в сесії постійно буде відкритий браузер, беріть Small з 4 vCPU і 4 ГБ за $8/міс. Обидва тарифи з NAT, і тут це не заважає: віддалений робочий стіл іде через ваш SSH-порт.
Якщо насправді потрібні програми для Windows, їх напряму запустить Windows VPS, а Windows-Small коштує від $11/міс. Ubuntu 24.04 є на сторінці Ubuntu VPS і на всіх Linux-тарифах у розділі VPS. Оплата в USDT, USDC або ETH у мережах Base, Ethereum або Polygon.
Коментарі
Поки немає коментарів. Будьте першим.