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