VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Në artikulli i mëparshëm Ne kemi shqyrtuar shpërbërjen e serverit VNC në një makinë virtuale të çdo lloji. Kjo metodë ka shumë disavantazhe, nga të cilat kërkesat e larta për bandë kaluese janë kryesore. Sot do të provojmë të lidhemi me desktopin grafik në Linux përmes RDP (Protokolli i Desktopit të Largët). Sistemi VNC bazohet në transferimin e maseve të pikselëve përmes protokollit RFB (Remote Framebuffer), ndërsa RDP lejon dërgimin e primitiveve grafike më komplekse dhe komandave në nivele më të larta. Zakonetësisht përdoret për organizimin e shërbimeve të desktopit të largët në Windows, por servery për Linux janë gjithashtu të disponueshëm.

Përmbajtje:

Instalimi i ambientit grafik
Ruisifikimi i serverit dhe instalimi i programeve
Instalimi dhe konfigurimi i serverit RDP
Konfigurimi i murit të zjarrit
Lidhja me serverin RDP
Menaxheri i sesioneve dhe sesionet e përdoruesve
Ndërrimi i disponimeve të tastierës

Instalimi i ambientit grafik

Ne do të marrim një makinë virtuale me Ubuntu Server 18.04 LTS me dy bërthama procesori, katër gigabajt RAM dhe një disk të ngurtë (HDD) prej twenty gigabajt. Një konfigurim më i dobët nuk është i përshtatshëm për një desktop grafik, edhe pse kjo varet nga detyrat që zgjidhni. Mos harroni të përdorni kodin promocional Habrahabr10 për të marrë një zbritje prej 10% në porosi.

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Instalimi i ambientit të punës me të gjitha varësitë kryhet me komandën e mëposhtme:

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

Si në rastin e mëparshëm, ne zgjodhëm XFCE për shkak të kërkesave relativisht të ulëta për burimet përpunuese.

Ruisifikimi i serverit dhe instalimi i programeve

Shpesh makinat virtuale vendosen vetëm me lokalizim në anglisht. Në desktop mund të kërkohet një lokalizim në rusisht, të cilin nuk është e vështirë ta konfiguroni. Së pari, do të instalojmë përkthimet e programeve sistemike:

sudo apt-get install language-pack-ru

Le të konfiguroni lokalizimin:

sudo update-locale LANG=ru_RU.UTF-8

E njëjta efekt mund të arrihet duke redaktuar manualisht skedarin /etc/default/locale.

Për lokalizimin e GNOME dhe KDE, në repositor ka paketa language-pack-gnome-ru dhe language-pack-kde-ru — këto do t'ju nevojiten nëse do të përdorni programe nga këto ambiente desktopi. Në XFCE, përkthimet instalohen së bashku me aplikacionet. Më pas, mund të instaloni fjalorët:

# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru

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

# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict

Përveç kësaj, instalimi i përkthimeve mund të kërkohet për disa programe aplikacioni:

# Браузер 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

Me këtë, përgatitja e ambientit të punës përfundon, mbetet vetëm të konfigurohet serveri RDP.

Instalimi dhe konfigurimi i serverit RDP

Në repositorët e Ubuntu ka një server të shpërndarë falas Xrdp, të cilin do ta përdorim:

sudo apt-get install xrdp

Nëse gjithçka shkoi mirë, serveri duhet të nisë automatikisht:

sudo systemctl status xrdp

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Serveri Xrdp niset me të drejtat e përdoruesit xrdp dhe siç është standart merr certifikatën /etc/ssl/private/ssl-cert-snakeoil.key, e cila mund të zëvendësohet me të tuajën. Për të pasur qasje për të lexuar skedarin, duhet të shtoni përdoruesin në grupin ssl-cert:

sudo adduser xrdp ssl-cert

Parametrat e parazgjedhura mund të gjenden në skedarin /etc/default/xrdp, ndërsa të gjitha skedarët tjetër të konfigurimit të serverit ndodhen në katalogun /etc/xrdp. Parametrat kryesorë janë në skedarin xrdp.ini, të cilin nuk është e nevojshme ta ndryshoni. Konfigurimi është mirë dokumentuar, dhe gjithashtu bashkë me të janë të disponueshme faqet përkatëse të manpages:

man xrdp.ini
man xrdp

Mbetet vetëm të redaktojmë skriptin /etc/xrdp/startwm.sh, i cili ekzekutohet gjatë fillimit të sesionit të përdoruesit. Fillimisht do të bëjmë një kopje rezervë të skriptit nga distribuimi:

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

Për të nisur ambientin e desktopit XFCE, do të duhen një skenar me përmbajtje të tillë:

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

Kujdes: Në skripte është më mirë të specifikoni rrugën e plotë për skedarët ekzekutivë — është një zakon i mirë. Ta bëjmë skriptin ekzekutiv dhe kështu konfigurimi i serverit Xrdp mund të konsiderohet i përfunduar:

sudo chmod 755 /etc/xrdp/startwm.sh

Rinisim serverin:

sudo systemctl restart xrdp

Konfigurimi i murit të zjarrit

Për default, Xrdp dëgjon TCP-portin 3389 në të gjitha ndërfaqet. Në varësi të konfigurimit të serverit virtual, mund të jetë e nevojshme të konfiguroni firewall-in Netfilter. Në Linux, kjo zakonisht bëhet me ndihmën e utilitetit iptables, por në Ubuntu është më mirë të përdorni ufw. Nëse adresa IP e klientit është e njohur, konfigurimi bëhet me komandën e mëposhtme:

sudo ufw allow from IP_Address to any port 3389

Lejo lidhjet nga çdo IP mund të bëhet kështu:

sudo ufw allow 3389

Protokolli RDP mbështet enkriptimin, por hapja e aksesit në serverin Xrdp nga rrjetet publike është një ide e keqe. Nëse klienti nuk ka një IP të fiksuar, për të rritur nivelin e sigurisë, serveri duhet të dëgjojë vetëm localhost. Aksesin është më mirë ta konfigurojmë përmes një tuneli SSH, i cili do të ridrejtojë trafikun nga kompjuteri i klientit në mënyrë të sigurt. Një qasje të tillë ne kemi përdorur në artikullin e mëparshëm për serverin VNC.

Lidhja me serverin RDP

Për të punuar me ambientin e desktopit, është më mirë të krijoni një përdorues të veçantë pa privilegje:

sudo adduser rdpuser

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Do të shtojmë përdoruesin në grupin sudo, në mënyrë që ai të mund të zgjidhë detyrat e lidhura me administrimin. Nëse nuk ka nevojë për këtë, ky hap mund të kalojë:

sudo gpasswd -a rdpuser sudo

Mund të lidhemi me serverin duke përdorur çdo klient RDP, duke përfshirë klientin e integruar të shërbimit të desktopëve të largët të Windows. Nëse Xrdp dëgjon në ndërfaqen e jashtme, nuk do të nevojiten lëvizje të tjera. Mjafton të specifikoni në konfigurimet e lidhjes adresën IP të VPS, emrin e përdoruesit dhe fjalëkalimin. Pas lidhjes, do të shohim një pamje të tillë:

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Pas pasqyrimin fillestar të mjedisit të desktopit, ne do të kemi një desktop të plotë. Siç e shihni, ai konsumon jo shumë burime, ndonëse më pas gjithçka do të varet nga aplikacionet që do të përdoren.

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Nëse serveri Xrdp dëgjon vetëm localhost, trafiku në kompjuterin klient do të duhet të paketizohet në një tunel SSH (në VPS duhet të jetë i nisur sshd). Nën Windows mund të përdorni një klient grafik SSH (p.sh., PuTTY), ndërsa në sistemet UNIX nevojitet utilitari ssh:

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

Pas inicializimit të tunelit, klienti RDP do të lidhet tashmë jo me serverin e largët, por me hostin lokal.

Me pajisjet mobile është më e komplikuar: do të duhet të blini klientë SSH që mund të ngrejnë një tunel, ndihmuar nga optimizimi shumë i mirë i konsumit të energjisë në iOS dhe iPadOS. Në iPhone dhe iPad, ngritja e një tuneli në një aplikacion të veçantë nuk bëhet — nevojitet një aplikacion-kombinator që vetë di të krijojë një lidhje RDP përmes SSH. Një shembull është Remoter Pro.

Menaxheri i sesioneve dhe sesionet e përdoruesve

Mundësia e punës shumë përdorueshe realizohet drejtpërdrejt në serverin Xrdp dhe nuk kërkon konfigurim shtesë. Pas nisjes së shërbimit përmes systemd, një proces punon në modin demon, dëgjon portin 3389 dhe ndërvepron përmes localhost me menaxherin e seancave.

ps aux |grep xrdp

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Menaxheri i seancave zakonisht nuk është i dukshëm për përdoruesit, sepse të dhënat e regjistrit dhe fjalëkalimit të caktuara në konfigurimin e klientit i dërgohen atij automatikisht. Nëse kjo nuk ka ndodhur ose ka një gabim gjatë autentifikimit, në vend të desktopit do të shfaqet një dritare interaktive për t'u lidhur në sistem.

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04
Nisja automatike e menaxherit të seancave është e regjistruar në skedarin /etc/default/xrdp, ndërsa konfigurimi ruhet në /etc/xrdp/sesman.ini. Nga ana e parë, duket më pak kështu:

[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
; Kur AlwaysGroupCheck=false, akses do të lejohet
; nëse grupi TerminalServerUsers nuk është i definuar.
AlwaysGroupCheck=false

[Sessions]

Këtu nuk ka nevojë të ndryshohet asgjë, vetëm duhet të ndalohet hyrja me të drejtat root (AllowRootLogin=false). Për çdo përdorues të autentikuar në sistem, fillohet një proces i veçantë xrdp: nëse shkëputeni pa mbyllur seancën, proceset e përdoruesit do të vazhdojnë të punojnë si zakonisht dhe do të mund të lidhni përsëri në seancë. Rregullimet mund të ndryshohen në skedarin /etc/xrdp/sesman.ini (seksioni [Sessions]).

Ndërrimi i disponimeve të tastierës

Me bufer të dyanshëm, zakonisht nuk ka probleme, por me rregullimin rus të tastierës do të duhet të bëni pak magji (lokali rus duhet të jetë tashmë i instaluar). Do të editojmë rregullimet e tastierës në serverin Xrdp:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Në fund të skedarit të konfigurimit duhet të shtoni këto rreshta:

[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

Mbetet të ruani skedarin dhe të rip filloni Xrdp:

sudo systemctl restart xrdp

Siç e shihni, ngritja e serverit RDP në një VPS Linux nuk është e komplikuar, dhe në artikulli i mëparshëm ne tashmë kemi shqyrtuar rregullimin VNC. Përveç këtyre teknologjive, ka një variant tjetër interesant: sistemi X2Go që përdor një protokoll të modifikuar NX 3. Me të do të merremi në publikimin tjetër.

VPS në Linux me ndërfaqe grafike: duke стартuar server RDP në Ubuntu 18.04

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster