В
Beschreiwung:
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.
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
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
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
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:
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.
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
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
sudo netstat -ap |grep xrdp
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.
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
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
Source: will.com