VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Š’ iepriekŔējais raksts mēs apspriedām VNC servera palaiÅ”anu jebkura veida virtuālajā maŔīnā. Å ai opcijai ir daudz trÅ«kumu, no kuriem galvenais ir augstās prasÄ«bas datu pārraides kanālu caurlaidspējai. Å odien mēs mēģināsim izveidot savienojumu ar grafisko darbvirsmu operētājsistēmā Linux, izmantojot RDP (Remote Desktop Protocol). VNC sistēma ir balstÄ«ta uz pikseļu masÄ«vu pārsÅ«tÄ«Å”anu, izmantojot RFB (Remote Framebuffer) protokolu, un RDP ļauj nosÅ«tÄ«t sarežģītākus grafikas primitÄ«vus un augsta lÄ«meņa komandas. To parasti izmanto attālās darbvirsmas pakalpojumu mitināŔanai operētājsistēmā Windows, taču ir pieejami arÄ« Linux serveri.

Satura rādītājs:

Grafiskās vides instalÄ“Å”ana
Servera rusifikācija un programmatÅ«ras instalÄ“Å”ana
RDP servera instalēŔana un konfigurēŔana
Ugunsmūra iestatīŔana
Savienojuma izveide ar RDP serveri
Sesiju pārvaldnieks un lietotāju sesijas
TastatÅ«ras izkārtojumu pārslēgÅ”ana

Grafiskās vides instalÄ“Å”ana

Mēs paņemsim virtuālo maŔīnu ar Ubuntu Server 18.04 LTS ar diviem skaitļoÅ”anas kodoliem, četriem gigabaitiem RAM un divdesmit gigabaitu cieto disku (HDD). Vājāka konfigurācija nav piemērota grafiskajai darbvirsmai, lai gan tas ir atkarÄ«gs no risināmajiem uzdevumiem. Neaizmirstiet izmantot reklāmas kodu Habrahabr10, lai saņemtu 10% atlaidi savam pasÅ«tÄ«jumam.

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Darbvirsmas vides instalÄ“Å”ana ar visām atkarÄ«bām tiek veikta ar Ŕādu komandu:

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

Tāpat kā iepriekŔējā gadÄ«jumā, mēs izvēlējāmies XFCE tā salÄ«dzinoÅ”i zemo skaitļoÅ”anas resursu prasÄ«bu dēļ.

Servera rusifikācija un programmatÅ«ras instalÄ“Å”ana

Bieži vien virtuālās maŔīnas tiek izvietotas tikai ar lokalizāciju angļu valodā. Darbvirsmā var bÅ«t nepiecieÅ”ama krievu valoda, kuru ir viegli iestatÄ«t. Vispirms instalēsim tulkojumus sistēmas programmām:

sudo apt-get install language-pack-ru

Iestatīsim lokalizāciju:

sudo update-locale LANG=ru_RU.UTF-8

To paÅ”u efektu var panākt, manuāli rediģējot /etc/default/locale.

GNOME un KDE lokalizācijai repozitorijā ir pakotnes language-pack-gnome-ru un language-pack-kde-ru ā€” tās bÅ«s nepiecieÅ”amas, ja izmantojat programmas no Ŕīm darbvirsmas vidēm. Programmā XFCE tulkojumi tiek instalēti kopā ar lietojumprogrammām. Tālāk varat instalēt vārdnÄ«cas:

# Š”Š»Š¾Š²Š°Ń€Šø Š“Š»Ń ŠæрŠ¾Š²ŠµŃ€ŠŗŠø Š¾Ń€Ń„Š¾Š³Ń€Š°Ń„ŠøŠø
sudo apt-get install hunspell hunspell-ru

# Š¢ŠµŠ·Š°ŃƒŃ€ŃƒŃ Š“Š»Ń LibreOffice
sudo apt-get install mythes-ru

# ŠŠ½Š³Š»Š¾-руссŠŗŠøŠ¹ сŠ»Š¾Š²Š°Ń€ŃŒ Š² фŠ¾Ń€Š¼Š°Ń‚Šµ DICT
sudo apt-get install mueller7-dict

Turklāt dažām lietojumprogrammām var bÅ«t nepiecieÅ”ama tulkojumu instalÄ“Å”ana:

# Š‘Ń€Š°ŃƒŠ·ŠµŃ€ 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

Tas pabeidz darbvirsmas vides sagatavoÅ”anu, atliek tikai konfigurēt RDP serveri.

RDP servera instalēŔana un konfigurēŔana

Ubuntu krātuvēs ir brīvi izplatīts Xrdp serveris, kuru mēs izmantosim:

sudo apt-get install xrdp

Ja viss noritēja labi, serverim vajadzētu startēt automātiski:

sudo systemctl status xrdp

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Xrdp serveris darbojas ar xrdp lietotāja tiesÄ«bām un pēc noklusējuma izmanto /etc/ssl/private/ssl-cert-snakeoil.key sertifikātu, ko var aizstāt ar savu. Lai piekļūtu faila lasÄ«Å”anai, jums jāpievieno lietotājs ssl-cert grupai:

sudo adduser xrdp ssl-cert

Noklusējuma iestatÄ«jumus var atrast /etc/default/xrdp failā, un visi pārējie servera konfigurācijas faili atrodas /etc/xrdp direktorijā. Galvenie parametri ir failā xrdp.ini, kas nav jāmaina. Konfigurācija ir labi dokumentēta, un ir iekļautas atbilstoŔās rokasgrāmatas:

man xrdp.ini
man xrdp

Atliek tikai rediģēt /etc/xrdp/startwm.sh skriptu, kas tiek izpildÄ«ts, kad tiek inicializēta lietotāja sesija. Vispirms izveidosim skripta rezerves kopiju no izplatÄ«Å”anas:

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

Lai palaistu XFCE darbvirsmas vidi, jums būs nepiecieŔams skripts, kas līdzīgs Ŕim:

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

LÅ«dzu, ņemiet vērā: skriptos labāk ir rakstÄ«t pilnu ceļu uz izpildāmajiem failiem - tas ir labs ieradums. PadarÄ«sim skriptu izpildāmu, un Å”ajā brÄ«dÄ« Xrdp servera iestatÄ«Å”anu var uzskatÄ«t par pabeigtu:

sudo chmod 755 /etc/xrdp/startwm.sh

Restartējiet serveri:

sudo systemctl restart xrdp

Ugunsmūra iestatīŔana

Pēc noklusējuma Xrdp klausās TCP portu 3389 visās saskarnēs. AtkarÄ«bā no virtuālā servera konfigurācijas, iespējams, bÅ«s jākonfigurē Netfilter ugunsmÅ«ris. Operētājsistēmā Linux tas parasti tiek darÄ«ts, izmantojot utilÄ«tu iptables, bet Ubuntu labāk ir izmantot ufw. Ja klienta IP adrese ir zināma, konfigurÄ“Å”ana tiek veikta ar Ŕādu komandu:

sudo ufw allow from IP_Address to any port 3389

Varat atļaut savienojumus no jebkura IP, piemēram:

sudo ufw allow 3389

RDP protokols atbalsta Å”ifrÄ“Å”anu, taču Xrdp servera pakļauÅ”ana publiskajiem tÄ«kliem ir slikta ideja. Ja klientam nav fiksēta IP, serverim ir jāklausās tikai localhost, lai palielinātu droŔību. Vislabāk ir tai piekļūt, izmantojot SSH tuneli, kas droÅ”i novirzÄ«s trafiku no klienta datora. Mums ir lÄ«dzÄ«ga pieeja izmantots iepriekŔējā rakstā VNC serverim.

Savienojuma izveide ar RDP serveri

Lai strādātu ar darbvirsmas vidi, labāk ir izveidot atseviŔķu nepievilcīgu lietotāju:

sudo adduser rdpuser

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Pievienosim lietotāju sudo grupai, lai viņŔ varētu veikt ar administrÄ“Å”anu saistÄ«tus uzdevumus. Ja Ŕādas vajadzÄ«bas nav, varat izlaist Å”o darbÄ«bu:

sudo gpasswd -a rdpuser sudo

Varat izveidot savienojumu ar serveri, izmantojot jebkuru RDP klientu, tostarp iebūvēto Windows Remote Desktop Services klientu. Ja Xrdp klausās ārējo interfeisu, papildu darbības nebūs vajadzīgas. Savienojuma iestatījumos pietiek norādīt VPS IP adresi, lietotājvārdu un paroli. Pēc savienojuma izveides mēs redzēsim kaut ko līdzīgu:

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Pēc sākotnējās darbvirsmas vides iestatÄ«Å”anas mēs iegÅ«sim pilnvērtÄ«gu darbvirsmu. Kā redzat, tas nepatērē daudz resursu, lai gan viss bÅ«s atkarÄ«gs no izmantotajām lietojumprogrammām.

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Ja Xrdp serveris klausās tikai localhost, trafika klienta datorā bÅ«s jāiepako SSH tunelÄ« (sshd jādarbojas VPS). Operētājsistēmā Windows varat izmantot grafisko SSH klientu (piemēram, PuTTY), savukārt UNIX sistēmās ir nepiecieÅ”ama ssh utilÄ«ta:

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

Pēc tuneļa inicializācijas RDP klients vairs nesavienosies ar attālo serveri, bet gan ar vietējo resursdatoru.

Ar mobilajām ierÄ«cēm ir grÅ«tāk: bÅ«s jāiegādājas SSH klienti, kas spēj pacelt tuneli, savukārt iOS un iPadOS operētājsistēmās treÅ”o puÅ”u lietojumprogrammu fona darbÄ«ba ir apgrÅ«tināta pārāk labās enerÄ£ijas patēriņa optimizācijas dēļ. iPhone un iPad ierÄ«cēs nevarēsit izveidot tuneli atseviŔķā lietojumprogrammā; jums bÅ«s nepiecieÅ”ama harvestera lietojumprogramma, kas pati var izveidot RDP savienojumu, izmantojot SSH. Tādas kā, piemēram Remote Pro.

Sesiju pārvaldnieks un lietotāju sesijas

Vairāku lietotāju darba iespēja tiek ieviesta tieÅ”i Xrdp serverÄ« un tai nav nepiecieÅ”ama papildu konfigurācija. Pēc pakalpojuma palaiÅ”anas, izmantojot systemd, viens process darbojas dēmona režīmā, klausās portā 3389 un sazinās, izmantojot localhost ar sesijas pārvaldnieku.

ps aux |grep xrdp

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Sesiju pārvaldnieks parasti nav redzams lietotājiem, jo ā€‹ā€‹klienta iestatÄ«jumos norādÄ«tais pieteikÅ”anās vārds un parole tiek pārsÅ«tÄ«ti uz to automātiski. Ja tas nenotiek vai autentifikācijas laikā rodas kļūda, darbvirsmas vietā parādÄ«sies interaktÄ«vs pieteikÅ”anās logs.

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04
Sesiju pārvaldnieka automātiskā palaiÅ”ana ir norādÄ«ta failā /etc/default/xrdp, un konfigurācija tiek saglabāta mapē /etc/xrdp/sesman.ini. Pēc noklusējuma tas izskatās apmēram Ŕādi:

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

Å eit jums nekas nav jāmaina, jums vienkārÅ”i ir jāatspējo pieteikÅ”anās ar root tiesÄ«bām (AllowRootLogin=false). Katram sistēmā autorizētam lietotājam tiek palaists atseviŔķs xrdp process: ja atvienojaties, nebeidzot sesiju, lietotāja procesi turpinās darboties pēc noklusējuma, un jÅ«s varat atkal izveidot savienojumu ar sesiju. IestatÄ«jumus var mainÄ«t failā /etc/xrdp/sesman.ini (sadaļā [Sesijas]).

TastatÅ«ras izkārtojumu pārslēgÅ”ana

Ar divvirzienu starpliktuvi parasti nav problēmu, taču ar krievu valodas tastatūras izkārtojumu būs nedaudz jāpaspēlējas (krievu lokalizācijai jau vajadzētu būt instalēta). Rediģēsim Xrdp servera tastatūras iestatījumus:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Konfigurācijas faila beigās jāpievieno Ŕādas rindas:

[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

Atliek tikai saglabāt failu un restartēt Xrdp:

sudo systemctl restart xrdp

Kā redzat, nav grÅ«ti iestatÄ«t RDP serveri Linux VPS, taču iepriekŔējais raksts Mēs jau esam apsprieduÅ”i VNC iestatÄ«Å”anu. Papildus Ŕīm tehnoloÄ£ijām ir vēl viena interesanta iespēja: X3Go sistēma, kas izmanto modificētu NX 2 protokolu. Mēs to aplÅ«kosim nākamajā publikācijā.

VPS operētājsistēmā Linux ar grafisko interfeisu: RDP servera palaiÅ”ana operētājsistēmā Ubuntu 18.04

Avots: www.habr.com

Pievieno komentāru