VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
В նախորդ հոդվածը մենք քննարկել ենք VNC սերվերի գործարկումը ցանկացած տեսակի վիրտուալ մեքենայի վրա: Այս տարբերակն ունի բազմաթիվ թերություններ, որոնցից հիմնականը տվյալների փոխանցման ալիքների թողունակության բարձր պահանջներն են։ Այսօր մենք կփորձենք միանալ Linux-ի գրաֆիկական աշխատասեղանին RDP-ի (Remote Desktop Protocol) միջոցով: VNC համակարգը հիմնված է պիքսելների զանգվածներ փոխանցելու վրա՝ օգտագործելով RFB (Remote Framebuffer) արձանագրությունը, իսկ RDP-ն թույլ է տալիս ուղարկել ավելի բարդ գրաֆիկական պարզունակ և բարձր մակարդակի հրամաններ: Այն սովորաբար օգտագործվում է Windows-ի հեռավոր աշխատասեղանի ծառայությունները հյուրընկալելու համար, սակայն Linux-ի համար նախատեսված սերվերները նույնպես հասանելի են:

Բովանդակություն:

Գրաֆիկական միջավայրի տեղադրում
Սերվերի ռուսաֆիկացում և ծրագրային ապահովման տեղադրում
RDP սերվերի տեղադրում և կարգավորում
Firewall-ի տեղադրում
Միացում RDP սերվերին
Նիստի մենեջեր և օգտագործողների նստաշրջաններ
Ստեղնաշարի դասավորությունների փոխարկում

Գրաֆիկական միջավայրի տեղադրում

Մենք կվերցնենք Ubuntu Server 18.04 LTS-ով վիրտուալ մեքենա՝ երկու հաշվողական միջուկով, չորս գիգաբայթ օպերատիվ հիշողությամբ և քսան գիգաբայթանոց կոշտ սկավառակով (HDD): Ավելի թույլ կոնֆիգուրացիան հարմար չէ գրաֆիկական աշխատասեղանի համար, թեև դա կախված է լուծվող խնդիրներից: Չմոռանաք օգտագործել Habrahabr10 պրոմո կոդը՝ ձեր պատվերի վրա 10% զեղչ ստանալու համար:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Բոլոր կախվածություններով աշխատասեղանի միջավայրի տեղադրումը կատարվում է հետևյալ հրամանով.

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

Ինչպես նախորդ դեպքում, մենք ընտրեցինք XFCE-ն՝ հաշվի առնելով համեմատաբար ցածր հաշվողական ռեսուրսների պահանջները:

Սերվերի ռուսաֆիկացում և ծրագրային ապահովման տեղադրում

Հաճախ վիրտուալ մեքենաները տեղակայվում են միայն անգլերեն տեղայնացմամբ: Սեղանի վրա ձեզ կարող է անհրաժեշտ լինել ռուսերեն, որը հեշտ է կարգավորել: Նախ, եկեք տեղադրենք թարգմանություններ համակարգային ծրագրերի համար.

sudo apt-get install language-pack-ru

Եկեք կարգավորենք տեղայնացումը.

sudo update-locale LANG=ru_RU.UTF-8

Նույն էֆեկտը կարելի է ձեռք բերել ձեռքով խմբագրելով /etc/default/locale-ը:

GNOME-ի և KDE-ի տեղայնացման համար պահոցն ունի language-pack-gnome-ru և language-pack-kde-ru փաթեթներ. դրանք ձեզ անհրաժեշտ կլինեն, եթե օգտագործեք ծրագրեր այս աշխատասեղանի միջավայրերից: XFCE-ում թարգմանությունները տեղադրվում են հավելվածներով։ Հաջորդը կարող եք տեղադրել բառարանները.

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

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

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

Բացի այդ, թարգմանությունների տեղադրումը կարող է պահանջվել որոշ կիրառական ծրագրերի համար.

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

Սա ավարտում է աշխատասեղանի միջավայրի պատրաստումը, մնում է միայն կարգավորել RDP սերվերը:

RDP սերվերի տեղադրում և կարգավորում

Ubuntu-ի պահոցներն ունեն ազատորեն բաշխված Xrdp սերվեր, որը մենք կօգտագործենք.

sudo apt-get install xrdp

Եթե ​​ամեն ինչ լավ է անցել, ապա սերվերը պետք է ավտոմատ կերպով գործարկվի.

sudo systemctl status xrdp

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Xrdp սերվերն աշխատում է xrdp օգտվողի իրավունքներով և լռելյայն վերցնում է /etc/ssl/private/ssl-cert-snakeoil.key վկայագիրը, որը կարող է փոխարինվել ձեր սեփականով: Ֆայլը կարդալու հասանելիություն ունենալու համար անհրաժեշտ է օգտվողին ավելացնել ssl-cert խմբին.

sudo adduser xrdp ssl-cert

Նախնական կարգավորումները կարելի է գտնել /etc/default/xrdp ֆայլում, իսկ մյուս բոլոր սերվերի կազմաձևման ֆայլերը գտնվում են /etc/xrdp գրացուցակում: Հիմնական պարամետրերը գտնվում են xrdp.ini ֆայլում, որը փոփոխության կարիք չունի։ Կազմաձևը լավ փաստաթղթավորված է, և համապատասխան մենեջերը ներառված են.

man xrdp.ini
man xrdp

Մնում է միայն խմբագրել /etc/xrdp/startwm.sh սկրիպտը, որը կատարվում է օգտատիրոջ նիստի սկզբնավորման ժամանակ։ Նախ, եկեք ստեղծենք սցենարի կրկնօրինակը բաշխումից.

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

XFCE աշխատասեղանի միջավայրը սկսելու համար ձեզ հարկավոր է այսպիսի սցենար.

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

Խնդրում ենք նկատի ունենալ. սցենարներում ավելի լավ է գրել գործարկվող ֆայլերի ամբողջական ուղին. սա լավ սովորություն է: Եկեք սկրիպտը դարձնենք գործարկելի և այս պահին Xrdp սերվերի կարգավորումը կարելի է համարել ավարտված.

sudo chmod 755 /etc/xrdp/startwm.sh

Վերագործարկեք սերվերը.

sudo systemctl restart xrdp

Firewall-ի տեղադրում

Լռելյայնորեն, Xrdp-ը լսում է TCP պորտը 3389 բոլոր ինտերֆեյսներում: Կախված վիրտուալ սերվերի կոնֆիգուրացիայից, ձեզ կարող է անհրաժեշտ լինել կարգավորել Netfilter firewall-ը: Linux-ում դա սովորաբար արվում է iptables կոմունալ ծրագրի միջոցով, իսկ Ubuntu-ում ավելի լավ է օգտագործել ufw: Եթե ​​հաճախորդի IP հասցեն հայտնի է, ապա կազմաձևումն իրականացվում է հետևյալ հրամանով.

sudo ufw allow from IP_Address to any port 3389

Դուք կարող եք թույլատրել կապեր ցանկացած IP-ից, ինչպես հետևյալը.

sudo ufw allow 3389

RDP արձանագրությունն աջակցում է գաղտնագրմանը, սակայն Xrdp սերվերը հանրային ցանցերին բացահայտելը վատ գաղափար է: Եթե ​​հաճախորդը չունի ֆիքսված IP, ապա սերվերը պետք է լսի միայն localhost-ը՝ անվտանգությունը բարձրացնելու համար։ Լավագույնն այն է, որ այն մուտք գործեք SSH թունելի միջոցով, որն ապահով կերպով կուղղորդի երթևեկությունը հաճախորդի համակարգչից: Նման մոտեցում ունենք օգտագործված նախորդ հոդվածում VNC սերվերի համար:

Միացում RDP սերվերին

Սեղանի միջավայրի հետ աշխատելու համար ավելի լավ է ստեղծել առանձին ոչ արտոնյալ օգտվող.

sudo adduser rdpuser

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Եկեք օգտագործողին ավելացնենք sudo խմբին, որպեսզի նա կարողանա կատարել վարչարարության հետ կապված առաջադրանքներ։ Եթե ​​նման անհրաժեշտություն չկա, կարող եք բաց թողնել այս քայլը.

sudo gpasswd -a rdpuser sudo

Դուք կարող եք միանալ սերվերին՝ օգտագործելով ցանկացած RDP հաճախորդ, ներառյալ ներկառուցված Windows Remote Desktop Services հաճախորդը: Եթե ​​Xrdp-ը լսում է արտաքին ինտերֆեյսը, լրացուցիչ գործողություններ չեն պահանջվի: Բավական է միացման կարգավորումներում նշել VPS IP հասցեն, օգտանունը և գաղտնաբառը։ Միանալուց հետո մենք կտեսնենք այսպիսի բան.

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Սեղանի միջավայրի նախնական կարգավորումից հետո մենք կստանանք լիարժեք աշխատասեղան: Ինչպես տեսնում եք, այն շատ ռեսուրսներ չի սպառում, չնայած ամեն ինչ կախված կլինի օգտագործվող հավելվածներից:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Եթե ​​Xrdp սերվերը լսում է միայն localhost-ին, հաճախորդի համակարգչի տրաֆիկը պետք է փաթեթավորվի SSH թունելում (sshd-ը պետք է աշխատի VPS-ում): Windows-ում կարող եք օգտագործել գրաֆիկական SSH հաճախորդ (օրինակ՝ PuTTY), իսկ UNIX համակարգերում ձեզ անհրաժեշտ է ssh կոմունալ.

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

Թունելի սկզբնավորումից հետո RDP հաճախորդն այլևս կմիանա ոչ թե հեռավոր սերվերին, այլ տեղական հոսթին:

Շարժական սարքերի հետ ավելի դժվար է. պետք է գնվեն SSH հաճախորդներ, որոնք կարող են թունել բարձրացնել, իսկ iOS-ում և iPadOS-ում երրորդ կողմի հավելվածների ֆոնային աշխատանքը դժվար է էներգիայի սպառման չափազանց լավ օպտիմալացման պատճառով: iPhone-ի և iPad-ի վրա դուք չեք կարողանա թունել ստեղծել առանձին հավելվածում, ձեզ հարկավոր կլինի հավաքող հավելված, որն ինքնին կարող է ստեղծել RDP կապ SSH-ի միջոցով: Ինչպիսին, օրինակ Remoter Pro.

Նիստի մենեջեր և օգտագործողների նստաշրջաններ

Բազմ օգտատերերի աշխատանքի հնարավորությունն իրականացվում է անմիջապես Xrdp սերվերում և չի պահանջում լրացուցիչ կոնֆիգուրացիա: Systemd-ի միջոցով ծառայությունը սկսելուց հետո մեկ պրոցես աշխատում է daemon ռեժիմով, լսում է 3389 նավահանգիստը և շփվում localhost-ի միջոցով նիստի մենեջերի հետ:

ps aux |grep xrdp

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում

sudo netstat -ap |grep xrdp

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Սեսիայի կառավարիչը սովորաբար տեսանելի չէ օգտատերերին, քանի որ հաճախորդի կարգավորումներում նշված մուտքն ու գաղտնաբառը փոխանցվում են դրան ավտոմատ կերպով: Եթե ​​դա տեղի չունենա կամ նույնականացման ժամանակ սխալ լինի, աշխատասեղանի փոխարեն կհայտնվի մուտքի ինտերակտիվ պատուհան:

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում
Նիստի կառավարչի ավտոմատ գործարկումը նշված է /etc/default/xrdp ֆայլում, իսկ կոնֆիգուրացիան պահվում է /etc/xrdp/sesman.ini-ում: Լռելյայն նման բան է թվում.

[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]

Այստեղ դուք ոչինչ փոխելու կարիք չունեք, պարզապես պետք է անջատեք մուտքը արմատային իրավունքներով (AllowRootLogin=false): Համակարգում լիազորված յուրաքանչյուր օգտատիրոջ համար գործարկվում է առանձին xrdp պրոցես. եթե անջատեք առանց սեսիան ավարտելու, օգտվողի պրոցեսները կշարունակեն գործել լռելյայն, և դուք կարող եք նորից միանալ նիստին: Կարգավորումները կարող են փոխվել /etc/xrdp/sesman.ini ֆայլում ([Sessions] բաժնում):

Ստեղնաշարի դասավորությունների փոխարկում

Երկկողմանի clipboard-ի հետ կապված խնդիրներ սովորաբար չկան, բայց ռուսական ստեղնաշարի դասավորության հետ դուք պետք է մի փոքր խաղաք (ռուսերենի տեղայնացումը պետք է արդեն լինի տեղադրված է) Եկեք խմբագրենք Xrdp սերվերի ստեղնաշարի կարգավորումները.

sudo nano /etc/xrdp/xrdp_keyboard.ini

Դուք պետք է ավելացնեք հետևյալ տողերը կազմաձևման ֆայլի վերջում.

[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

Մնում է միայն պահպանել ֆայլը և վերագործարկել Xrdp:

sudo systemctl restart xrdp

Ինչպես տեսնում եք, Linux VPS-ի վրա RDP սերվեր ստեղծելը դժվար չէ, բայց նախորդ հոդվածը Մենք արդեն քննարկել ենք VNC-ի տեղադրումը: Բացի այս տեխնոլոգիաներից, կա ևս մեկ հետաքրքիր տարբերակ՝ X3Go համակարգը՝ օգտագործելով փոփոխված NX 2 արձանագրությունը։ Դրանով կզբաղվենք հաջորդ հրապարակման մեջ։

VPS Linux-ում գրաֆիկական ինտերֆեյսով. RDP սերվերի գործարկում Ubuntu 18.04-ում

Source: www.habr.com

Добавить комментарий