VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
В fréieren Artikel mir diskutéiert Lafen engem VNC Server op enger virtueller Maschinn vun all Zort. Dës Optioun huet vill Nodeeler, den Haaptgrond vun deenen ass déi héich Ufuerderunge fir den Duerchgang vun Daten Transmissioun Channels. Haut wäerte mir probéieren mat engem grafeschen Desktop op Linux iwwer RDP (Remote Desktop Protocol) ze verbannen. De VNC System baséiert op Iwwerdroung vun Arrays vu Pixelen mat dem RFB (Remote Framebuffer) Protokoll, an RDP erlaabt Iech méi komplex Grafikprimitiven an High-Level Kommandoen ze schécken. Et gëtt normalerweis benotzt fir Remote Desktop Services op Windows ze hosten, awer Server fir Linux sinn och verfügbar.

Beschreiwung:

Installatioun vum grafeschen Ëmfeld
Russification vum Server a Software Installatioun
Installatioun a Konfiguratioun vun engem RDP Server
Eng Firewall opsetzen
Verbindung mat engem RDP Server
Sessioun Manager a Benotzer Sessiounen
Wiessel Keyboard Layouten

Installatioun vum grafeschen Ëmfeld

Mir huelen eng virtuell Maschinn mat Ubuntu Server 18.04 LTS mat zwee Rechenkären, véier Gigabyte RAM an eng zwanzeg Gigabyte Festplack (HDD). Eng méi schwaach Konfiguratioun ass net gëeegent fir e grafeschen Desktop, obwuel dëst hänkt vun den Aufgaben of, déi geléist ginn. Vergiesst net de Promo Code Habrahabr10 ze benotzen fir eng 10% Remise op Är Bestellung ze kréien.

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
D'Installatioun vum Desktop-Ëmfeld mat all Ofhängegkeet gëtt mat dem folgenden Kommando gemaach:

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

Wéi am virege Fall hu mir XFCE gewielt wéinst senge relativ nidderegen Informatikressourcen.

Russification vum Server a Software Installatioun

Dacks ginn virtuell Maschinnen nëmme mat englesch Lokalisatioun ofgesat. Um Desktop brauch Dir vläicht Russesch, wat einfach ze konfiguréieren ass. Als éischt, loosst eis Iwwersetzunge fir Systemprogrammer installéieren:

sudo apt-get install language-pack-ru

Loosst eis d'Lokalisatioun opstellen:

sudo update-locale LANG=ru_RU.UTF-8

Dee selwechten Effekt kann erreecht ginn andeems Dir den /etc/default/locale manuell ännert.

Fir d'Lokaliséierung vu GNOME a KDE, huet de Repository d'Sprooch-pack-gnome-ru a Language-pack-kde-ru Packagen - Dir braucht se wann Dir Programmer aus dësen Desktop-Ëmfeld benotzt. An XFCE sinn Iwwersetzunge mat Applikatiounen installéiert. Als nächst kënnt Dir d'Dictionnairen installéieren:

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

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

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

Zousätzlech kann d'Installatioun vun Iwwersetzunge fir e puer Applikatiounsprogrammer erfuerderlech sinn:

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

Dëst fäerdeg d'Virbereedung vum Desktop-Ëmfeld, alles wat bleift ass den RDP-Server ze konfiguréieren.

Installatioun a Konfiguratioun vun engem RDP Server

D'Ubuntu Repositories hunn e fräi verdeelt Xrdp Server, dee mir benotzen:

sudo apt-get install xrdp

Wann alles gutt gaang ass, sollt de Server automatesch starten:

sudo systemctl status xrdp

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
Den Xrdp-Server leeft mat xrdp Benotzerrechter an hëlt Par défaut den /etc/ssl/private/ssl-cert-snakeoil.key Zertifikat, dee mat Ärem eegenen ersat ka ginn. Fir Zougang ze hunn fir d'Datei ze liesen, musst Dir de Benotzer an d'ssl-cert Grupp addéieren:

sudo adduser xrdp ssl-cert

D'Standardastellunge kënnen an der Datei /etc/default/xrdp fonnt ginn, an all aner Serverkonfiguratiounsdateien sinn am /etc/xrdp Verzeichnis. D'Haaptparameter sinn an der xrdp.ini Datei, déi net geännert muss ginn. D'Konfiguratioun ass gutt dokumentéiert, an déi entspriechend Manpages sinn abegraff:

man xrdp.ini
man xrdp

Alles wat bleift ass den /etc/xrdp/startwm.sh Skript z'änneren, deen ausgefouert gëtt wann d'Benotzer Sessioun initialiséiert gëtt. Als éischt, loosst eis eng Backupkopie vum Skript aus der Verdeelung maachen:

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

Fir d'XFCE Desktop-Ëmfeld unzefänken, braucht Dir e Skript esou eppes:

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

Notéiert w.e.g.: a Skripte ass et besser de komplette Wee fir ausführbar Dateien ze schreiwen - dëst ass eng gutt Gewunnecht. Loosst eis de Skript ausféierbar maachen an op dësem Punkt kann de Setup vum Xrdp Server als komplett ugesi ginn:

sudo chmod 755 /etc/xrdp/startwm.sh

Restart de Server:

sudo systemctl restart xrdp

Eng Firewall opsetzen

Par défaut lauschtert Xrdp op den TCP Hafen 3389 op all Interfaces. Ofhängeg vun der virtueller Serverkonfiguratioun, musst Dir eventuell eng Netfilter Firewall konfiguréieren. Op Linux gëtt dëst normalerweis mam iptables Utility gemaach, awer op Ubuntu ass et besser ufw ze benotzen. Wann d'IP Adress vum Client bekannt ass, gëtt d'Konfiguratioun mat dem folgenden Kommando duerchgefouert:

sudo ufw allow from IP_Address to any port 3389

Dir kënnt Verbindunge vun all IP wéi dëst erlaben:

sudo ufw allow 3389

De RDP Protokoll ënnerstëtzt Verschlësselung, awer den Xrdp Server op ëffentlech Netzwierker auszesetzen ass eng schlecht Iddi. Wann de Client keng fix IP huet, soll de Server nëmmen op localhost lauschteren fir d'Sécherheet ze erhéijen. Et ass am beschten et iwwer en SSH-Tunnel ze kréien, deen de Traffic vum Clientcomputer sécher ëmgeleet. Mir hunn eng ähnlech Approche am virdrun Artikel benotzt fir VNC Server.

Verbindung mat engem RDP Server

Fir mat dem Desktop-Ëmfeld ze schaffen, ass et besser en separaten onprivilegéierte Benotzer ze kreéieren:

sudo adduser rdpuser

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
Loosst eis de Benotzer an de Sudo-Grupp addéieren fir datt hien Administratiounsrelatéiert Aufgaben ausféiere kann. Wann et kee Besoin ass, kënnt Dir dëse Schrëtt iwwersprangen:

sudo gpasswd -a rdpuser sudo

Dir kënnt mam Server mat engem RDP Client verbannen, och den agebaute Windows Remote Desktop Services Client. Wann Xrdp op déi extern Interface lauschtert, gi keng zousätzlech Aktiounen néideg. Et ass genuch fir d'VPS IP Adress, Benotzernumm a Passwuert an de Verbindungsastellungen ze spezifizéieren. Nom Uschloss gesi mir eppes wéi dat:

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
No der initialer Konfiguratioun vum Desktop-Ëmfeld kréie mir e vollwäertege Desktop. Wéi Dir gesitt, verbraucht et net vill Ressourcen, obwuel alles vun den benotzten Uwendungen hänkt.

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
Wann den Xrdp Server nëmmen op localhost lauschtert, muss de Verkéier um Client Computer an en SSH Tunnel verpackt ginn (sshd muss op der VPS lafen). Op Windows kënnt Dir e grafeschen SSH Client benotzen (zum Beispill PuTTY), an op UNIX Systemer braucht Dir den ssh Utility:

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

Nodeems den Tunnel initialiséiert ass, verbënnt de RDP Client net méi mam Fernserver, mee mam lokalen Host.

Et ass méi schwéier mat mobilen Apparater: SSH Clienten, déi fäeg sinn en Tunnel z'erhéijen, musse kaaft ginn, an iOS an iPadOS ass den Hannergrond vun Drëtt-Partei Uwendungen schwéier wéinst ze gutt Optimiséierung vum Energieverbrauch. Op iPhone an iPad kënnt Dir net en Tunnel an enger separater Applikatioun erstellen; Dir braucht eng Ernteapplikatioun déi selwer eng RDP Verbindung iwwer SSH opbaue kann. Wéi zum Beispill Remote Pro.

Sessioun Manager a Benotzer Sessiounen

D'Kapazitéit fir Multi-Benotzer ze schaffen ass direkt am Xrdp Server implementéiert an erfuerdert keng zousätzlech Konfiguratioun. Nodeems Dir de Service iwwer Systemd gestart huet, leeft ee Prozess am Daemon-Modus, lauschtert op Hafen 3389 a kommunizéiert iwwer localhost mam Sessiounsmanager.

ps aux |grep xrdp

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
De Sessiounsmanager ass normalerweis net fir d'Benotzer sichtbar, well de Login a Passwuert, deen an de Client Astellunge spezifizéiert ass, automatesch dorop transferéiert ginn. Wann dat net geschitt oder et gëtt e Feeler während der Authentifikatioun, erschéngt eng interaktiv Loginfenster amplaz vum Desktop.

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04
Automatesch Start vum Sessiounsmanager gëtt an der /etc/default/xrdp Datei spezifizéiert, an d'Konfiguratioun gëtt an /etc/xrdp/sesman.ini gespäichert. Par défaut gesäit et esou aus:

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

Dir musst hei näischt änneren, Dir musst just de Login mat root Rechter auszeschalten (AllowRootLogin = falsch). Fir all Benotzer, deen am System autoriséiert ass, gëtt e separaten xrdp-Prozess lancéiert: wann Dir trennt ouni d'Sessioun ofzeschléissen, lafen d'Benotzerprozesser weider Standard, an Dir kënnt erëm mat der Sessioun verbannen. Astellunge kënnen an der Datei /etc/xrdp/sesman.ini ([Sessions] Sektioun) geännert ginn.

Wiessel Keyboard Layouten

Et gi meeschtens keng Probleemer mat engem Zwee-Wee Clipboard, awer mam russesche Tastatur Layout musst Dir e bëssen ëmspillen (de russesche Lokal sollt scho sinn installéiert). Loosst eis d'Tastatur Astellunge vum Xrdp Server änneren:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Dir musst déi folgend Zeilen um Enn vun der Konfiguratiounsdatei addéieren:

[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

Alles wat bleift ass d'Datei ze späicheren an Xrdp nei ze starten:

sudo systemctl restart xrdp

Wéi Dir kënnt gesinn, ass et net schwéier en RDP Server op engem Linux VPS opzestellen, awer fréieren Artikel Mir hu schonn iwwer de VNC-Setup diskutéiert. Zousätzlech zu dësen Technologien gëtt et eng aner interessant Optioun: den X3Go System mat engem modifizéierten NX 2 Protokoll. Mir wäerten et an der nächster Verëffentlechung beschäftegen.

VPS op Linux mat enger grafescher Interface: Start vun engem RDP Server op Ubuntu 18.04

Source: will.com

Setzt e Commentaire