Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Π’ oldingi maqola biz har qanday turdagi virtual mashinada VNC serverini ishga tushirishni muhokama qildik. Ushbu parametr juda ko'p kamchiliklarga ega, ulardan asosiysi ma'lumotlarni uzatish kanallarining o'tkazuvchanligiga qo'yiladigan yuqori talablardir. Bugun biz RDP (Remote Desktop Protocol) orqali Linuxda grafik ish stoliga ulanishga harakat qilamiz. VNC tizimi RFB (Remote Framebuffer) protokoli yordamida piksellar massivlarini uzatishga asoslangan va RDP yanada murakkab grafik ibtidoiy va yuqori darajali buyruqlarni yuborish imkonini beradi. U odatda Windows-da masofaviy ish stoli xizmatlarini joylashtirish uchun ishlatiladi, ammo Linux uchun serverlar ham mavjud.

Oglavlenie:

Grafik muhitni o'rnatish
Serverni ruslashtirish va dasturiy ta'minotni o'rnatish
RDP serverini o'rnatish va sozlash
Xavfsizlik devorini o'rnatish
RDP serveriga ulanish
Seans menejeri va foydalanuvchi sessiyalari
Klaviatura tartibini almashtirish

Grafik muhitni o'rnatish

ΠœΡ‹ возьмСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Ubuntu Server 18.04 LTS с двумя Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ядрами, Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ТСстким диском (HDD) Π½Π° Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Π‘ΠΎΠ»Π΅Π΅ слабая конфигурация ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для графичСского дСсктопа, хотя это зависит ΠΎΡ‚ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄ Habrahabr10 для получСния скидки Π² 10% ΠΏΡ€ΠΈ Π·Π°ΠΊΠ°Π·Π΅.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Ish stoli muhitini barcha bog'liqliklar bilan o'rnatish quyidagi buyruq bilan amalga oshiriladi:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Oldingi holatda bo'lgani kabi, biz XFCE ni nisbatan past hisoblash resurslari talablari tufayli tanladik.

Serverni ruslashtirish va dasturiy ta'minotni o'rnatish

Ko'pincha virtual mashinalar faqat inglizcha lokalizatsiya bilan joylashtiriladi. Ish stolida sizga rus tili kerak bo'lishi mumkin, uni sozlash oson. Birinchidan, tizim dasturlari uchun tarjimalarni o'rnatamiz:

sudo apt-get install language-pack-ru

Keling, mahalliylashtirishni o'rnatamiz:

sudo update-locale LANG=ru_RU.UTF-8

Xuddi shu effektga /etc/default/locale-ni qo'lda tahrirlash orqali erishish mumkin.

GNOME va KDE-ni lokalizatsiya qilish uchun omborda language-pack-gnome-ru va language-pack-kde-ru paketlari mavjud - agar siz ushbu ish stoli muhitidagi dasturlardan foydalansangiz, ular sizga kerak bo'ladi. XFCE-da tarjimalar ilovalar bilan o'rnatiladi. Keyin lug'atlarni o'rnatishingiz mumkin:

# Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
sudo apt-get install hunspell hunspell-ru

# ВСзаурус для LibreOffice
sudo apt-get install mythes-ru

# Англо-русский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DICT
sudo apt-get install mueller7-dict

Bundan tashqari, ba'zi amaliy dasturlar uchun tarjimalarni o'rnatish talab qilinishi mumkin:

# Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Firefox
sudo apt-get install firefox firefox-locale-ru

# ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru

# ΠžΡ„ΠΈΡΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ru

Bu ish stoli muhitini tayyorlashni yakunlaydi, faqat RDP serverini sozlash qoladi.

RDP serverini o'rnatish va sozlash

Ubuntu omborlarida erkin taqsimlangan Xrdp server mavjud, biz undan foydalanamiz:

sudo apt-get install xrdp

Agar hamma narsa yaxshi bo'lsa, server avtomatik ravishda ishga tushishi kerak:

sudo systemctl status xrdp

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Xrdp serveri xrdp foydalanuvchi huquqlari bilan ishlaydi va sukut bo'yicha /etc/ssl/private/ssl-cert-snakeoil.key sertifikatini oladi, uni o'zingizniki bilan almashtirish mumkin. Faylni o'qish huquqiga ega bo'lish uchun foydalanuvchini ssl-cert guruhiga qo'shishingiz kerak:

sudo adduser xrdp ssl-cert

Standart sozlamalarni /etc/default/xrdp faylida topish mumkin va boshqa barcha server konfiguratsiya fayllari /etc/xrdp katalogida joylashgan. Asosiy parametrlar xrdp.ini faylida bo'lib, uni o'zgartirish kerak emas. Konfiguratsiya yaxshi hujjatlashtirilgan va tegishli boshqaruv sahifalari kiritilgan:

man xrdp.ini
man xrdp

Qolgan narsa /etc/xrdp/startwm.sh skriptini tahrirlash bo'lib, u foydalanuvchi sessiyasi ishga tushirilganda bajariladi. Birinchidan, tarqatishdan skriptning zaxira nusxasini yarataylik:

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh

XFCE ish stoli muhitini ishga tushirish uchun sizga quyidagi kabi skript kerak bo'ladi:

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

E'tibor bering: skriptlarda bajariladigan fayllarga to'liq yo'lni yozish yaxshiroqdir - bu yaxshi odat. Skriptni bajariladigan holga keltiramiz va shu nuqtada Xrdp serverini sozlash tugallangan deb hisoblanishi mumkin:

sudo chmod 755 /etc/xrdp/startwm.sh

Serverni qayta ishga tushiring:

sudo systemctl restart xrdp

Xavfsizlik devorini o'rnatish

Odatiy bo'lib, Xrdp barcha interfeyslarda TCP 3389 portini tinglaydi. Virtual server konfiguratsiyasiga qarab, Netfilter xavfsizlik devorini sozlashingiz kerak bo'lishi mumkin. Linuxda bu odatda iptables yordam dasturi yordamida amalga oshiriladi, lekin Ubuntuda ufw dan foydalanish yaxshidir. Agar mijozning IP manzili ma'lum bo'lsa, konfiguratsiya quyidagi buyruq bilan amalga oshiriladi:

sudo ufw allow from IP_Address to any port 3389

Siz har qanday IP-dan ulanishga ruxsat berishingiz mumkin:

sudo ufw allow 3389

RDP protokoli shifrlashni qo'llab-quvvatlaydi, ammo Xrdp serverini umumiy tarmoqlarga ta'sir qilish yomon fikrdir. Agar mijozda sobit IP bo'lmasa, xavfsizlikni oshirish uchun server faqat localhost-ni tinglashi kerak. Mijoz kompyuteridan trafikni xavfsiz tarzda yo'naltiradigan SSH tunneli orqali unga kirish yaxshidir. Bizda ham xuddi shunday yondashuv bor oldingi maqolada ishlatilgan VNC server uchun.

RDP serveriga ulanish

Ish stoli muhiti bilan ishlash uchun alohida imtiyozsiz foydalanuvchi yaratish yaxshiroqdir:

sudo adduser rdpuser

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Keling, foydalanuvchini sudo guruhiga qo'shamiz, shunda u ma'muriyat bilan bog'liq vazifalarni bajara oladi. Agar bunday ehtiyoj bo'lmasa, siz ushbu bosqichni o'tkazib yuborishingiz mumkin:

sudo gpasswd -a rdpuser sudo

Serverga istalgan RDP mijozi, jumladan, o'rnatilgan Windows masofaviy ish stoli xizmatlari mijozi yordamida ulanishingiz mumkin. Agar Xrdp tashqi interfeysni tinglayotgan bo'lsa, qo'shimcha harakatlar talab qilinmaydi. Ulanish sozlamalarida VPS IP manzilini, foydalanuvchi nomi va parolni ko'rsatish kifoya. Ulanishdan so'ng biz shunga o'xshash narsani ko'ramiz:

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Ish stoli muhitini dastlabki sozlashdan so'ng biz to'liq ish stoliga ega bo'lamiz. Ko'rib turganingizdek, u ko'p resurslarni iste'mol qilmaydi, garchi hamma narsa ishlatiladigan ilovalarga bog'liq bo'ladi.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Agar Xrdp serveri faqat localhost-ni tinglasa, mijoz kompyuteridagi trafik SSH tunneliga to'planishi kerak (sshd VPS-da ishlayotgan bo'lishi kerak). Windows-da siz grafik SSH mijozidan (masalan, PuTTY) foydalanishingiz mumkin va UNIX tizimlarida sizga ssh yordam dasturi kerak bo'ladi:

ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip

Tunnel ishga tushirilgandan so'ng, RDP mijozi endi uzoq serverga emas, balki mahalliy xostga ulanadi.

Mobil qurilmalar bilan bu qiyinroq: tunnelni ko'tarishga qodir SSH mijozlarini sotib olish kerak bo'ladi va iOS va iPadOS-da energiya sarfini juda yaxshi optimallashtirish tufayli uchinchi tomon ilovalarining fonda ishlashi qiyin. IPhone va iPad-da siz alohida dasturda tunnel yarata olmaysiz; sizga SSH orqali RDP ulanishini o'rnatishi mumkin bo'lgan kombayn dasturi kerak bo'ladi. Masalan, masalan Remoter Pro.

Seans menejeri va foydalanuvchi sessiyalari

Ko'p foydalanuvchili ishlash qobiliyati to'g'ridan-to'g'ri Xrdp serverida amalga oshiriladi va qo'shimcha konfiguratsiyani talab qilmaydi. Systemd orqali xizmatni ishga tushirgandan so'ng, bitta jarayon demon rejimida ishlaydi, 3389 portni tinglaydi va seans menejeri bilan localhost orqali bog'lanadi.

ps aux |grep xrdp

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish

sudo netstat -ap |grep xrdp

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСансов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² настройках ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΅ΠΌΡƒ автоматичСски. Если этого Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка, вмСсто Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола появится ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Ρ…ΠΎΠ΄Π° Π² систСму.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish
Seans menejerining avtomatik ishga tushirilishi /etc/default/xrdp faylida ko'rsatilgan va konfiguratsiya /etc/xrdp/sesman.ini da saqlanadi. Odatiy bo'lib, u shunday ko'rinadi:

[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false

[Sessions]

Bu erda hech narsani o'zgartirishingiz shart emas, faqat ildiz huquqlari bilan kirishni o'chirib qo'yishingiz kerak (AllowRootLogin=false). Tizimda ruxsat berilgan har bir foydalanuvchi uchun alohida xrdp jarayoni ishga tushiriladi: seansni tugatmasdan uzsangiz, foydalanuvchi jarayonlari sukut bo'yicha ishlashda davom etadi va siz yana sessiyaga ulanishingiz mumkin. Sozlamalarni /etc/xrdp/sesman.ini faylida o'zgartirish mumkin ([Sessions] bo'limi).

Klaviatura tartibini almashtirish

Odatda ikki tomonlama bufer bilan bog'liq muammolar bo'lmaydi, lekin ruscha klaviatura tartibida siz biroz o'ynashingiz kerak bo'ladi (rus tili allaqachon bo'lishi kerak) o'rnatilgan). Xrdp serverining klaviatura sozlamalarini tahrir qilaylik:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Konfiguratsiya faylining oxiriga quyidagi qatorlarni qo'shishingiz kerak:

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

Faqatgina faylni saqlash va Xrdp-ni qayta ishga tushirish qoladi:

sudo systemctl restart xrdp

Ko'rib turganingizdek, Linux VPS-da RDP serverini o'rnatish qiyin emas, lekin oldingi maqola Biz allaqachon VNC sozlamalarini muhokama qildik. Ushbu texnologiyalarga qo'shimcha ravishda yana bir qiziqarli variant mavjud: o'zgartirilgan NX 3 protokolidan foydalangan holda X2Go tizimi. Biz u bilan keyingi nashrda shug'ullanamiz.

Grafik interfeysli Linuxda VPS: Ubuntu 18.04 da RDP serverini ishga tushirish

Manba: www.habr.com

a Izoh qo'shish