В
Cuprins:
Instalarea mediului grafic
Vom lua o mașină virtuală cu Ubuntu Server 18.04 LTS cu două nuclee de calcul, patru gigabytes de RAM și un hard disk (HDD) de douăzeci de gigabytes. O configurație mai slabă nu este potrivită pentru un desktop grafic, deși acest lucru depinde de sarcinile rezolvate. Nu uitați să utilizați codul promoțional Habrahabr10 pentru a obține o reducere de 10% la comanda dumneavoastră.
Instalarea mediului desktop cu toate dependențele se face cu următoarea comandă:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Ca și în cazul precedent, am ales XFCE datorită cerințelor sale relativ scăzute de resurse de calcul.
Rusificarea serverului și instalarea software-ului
Adesea, mașinile virtuale sunt implementate numai cu localizare în limba engleză. Pe desktop este posibil să aveți nevoie de limba rusă, care este ușor de configurat. Mai întâi, să instalăm traduceri pentru programele de sistem:
sudo apt-get install language-pack-ru
Să setăm localizarea:
sudo update-locale LANG=ru_RU.UTF-8
Același efect poate fi obținut prin editarea manuală a fișierului /etc/default/locale.
Pentru localizarea GNOME și KDE, depozitul are pachetele language-pack-gnome-ru și language-pack-kde-ru - veți avea nevoie de ele dacă utilizați programe din aceste medii desktop. În XFCE, traducerile sunt instalate cu aplicații. În continuare puteți instala dicționarele:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
În plus, instalarea traducerilor poate fi necesară pentru unele programe de aplicație:
# Браузер 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
Acest lucru completează pregătirea mediului desktop, tot ce rămâne este configurarea serverului RDP.
Instalarea și configurarea unui server RDP
Arhivele Ubuntu au un server Xrdp distribuit gratuit, pe care îl vom folosi:
sudo apt-get install xrdp
Dacă totul a mers bine, serverul ar trebui să pornească automat:
sudo systemctl status xrdp
Serverul Xrdp rulează cu drepturi de utilizator xrdp și preia implicit certificatul /etc/ssl/private/ssl-cert-snakeoil.key, care poate fi înlocuit cu al tău. Pentru a avea acces pentru a citi fișierul, trebuie să adăugați utilizatorul în grupul ssl-cert:
sudo adduser xrdp ssl-cert
Setările implicite pot fi găsite în fișierul /etc/default/xrdp, iar toate celelalte fișiere de configurare a serverului se află în directorul /etc/xrdp. Parametrii principali se află în fișierul xrdp.ini, care nu trebuie modificat. Configurația este bine documentată și sunt incluse paginile de manual corespunzătoare:
man xrdp.ini
man xrdp
Tot ce rămâne este să editați scriptul /etc/xrdp/startwm.sh, care este executat atunci când sesiunea utilizatorului este inițializată. Mai întâi, să facem o copie de rezervă a scriptului din distribuție:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Pentru a porni mediul desktop XFCE, veți avea nevoie de un script de genul acesta:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Vă rugăm să rețineți: în scripturi este mai bine să scrieți calea completă către fișierele executabile - acesta este un obicei bun. Să facem scriptul executabil și în acest moment configurarea serverului Xrdp poate fi considerată completă:
sudo chmod 755 /etc/xrdp/startwm.sh
Reporniți serverul:
sudo systemctl restart xrdp
Configurarea unui firewall
Implicit, Xrdp ascultă portul TCP 3389 pe toate interfețele. În funcție de configurația serverului virtual, poate fi necesar să configurați un firewall Netfilter. Pe Linux, acest lucru se face de obicei folosind utilitarul iptables, dar pe Ubuntu este mai bine să utilizați ufw. Dacă adresa IP a clientului este cunoscută, configurarea se realizează cu următoarea comandă:
sudo ufw allow from IP_Address to any port 3389
Puteți permite conexiuni de la orice IP astfel:
sudo ufw allow 3389
Protocolul RDP acceptă criptarea, dar expunerea serverului Xrdp la rețelele publice este o idee proastă. Dacă clientul nu are un IP fix, serverul ar trebui să asculte doar localhost pentru a crește securitatea. Cel mai bine este să îl accesați printr-un tunel SSH, care va redirecționa în siguranță traficul de pe computerul client. Avem o abordare similară
Conectarea la un server RDP
Pentru a lucra cu mediul desktop, este mai bine să creați un utilizator neprivilegiat separat:
sudo adduser rdpuser
Să adăugăm utilizatorul la grupul sudo, astfel încât să poată efectua sarcini legate de administrare. Dacă nu este nevoie, puteți sări peste acest pas:
sudo gpasswd -a rdpuser sudo
Vă puteți conecta la server folosind orice client RDP, inclusiv clientul Windows Remote Desktop Services încorporat. Dacă Xrdp ascultă interfața externă, nu vor fi necesare acțiuni suplimentare. Este suficient să specificați adresa IP VPS, numele de utilizator și parola în setările de conectare. După conectare, vom vedea ceva de genul acesta:
După configurarea inițială a mediului desktop, vom obține un desktop cu drepturi depline. După cum puteți vedea, nu consumă multe resurse, deși totul va depinde de aplicațiile utilizate.
Dacă serverul Xrdp ascultă doar localhost, traficul de pe computerul client va trebui să fie împachetat într-un tunel SSH (sshd trebuie să ruleze pe VPS). Pe Windows, puteți utiliza un client grafic SSH (de exemplu, PuTTY), iar pe sistemele UNIX aveți nevoie de utilitarul ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
După inițializarea tunelului, clientul RDP nu se va mai conecta la serverul de la distanță, ci la gazda locală.
Este mai dificil cu dispozitivele mobile: clienții SSH capabili să ridice un tunel vor trebui achiziționați, iar în iOS și iPadOS, funcționarea în fundal a aplicațiilor terță parte este dificilă din cauza optimizării prea bune a consumului de energie. Pe iPhone și iPad, nu veți putea crea un tunel într-o aplicație separată; veți avea nevoie de o aplicație harvester care poate stabili ea însăși o conexiune RDP prin SSH. Cum ar fi, de exemplu
Manager de sesiuni și sesiuni de utilizator
Capacitatea de a lucra cu mai mulți utilizatori este implementată direct în serverul Xrdp și nu necesită configurare suplimentară. După pornirea serviciului prin systemd, un proces rulează în modul daemon, ascultă pe portul 3389 și comunică prin localhost cu managerul de sesiune.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
Managerul de sesiune nu este de obicei vizibil pentru utilizatori, deoarece datele de conectare și parola specificate în setările clientului sunt transferate automat către acesta. Dacă acest lucru nu se întâmplă sau există o eroare în timpul autentificării, va apărea o fereastră interactivă de conectare în locul desktopului.
Lansarea automată a managerului de sesiune este specificată în fișierul /etc/default/xrdp, iar configurația este stocată în /etc/xrdp/sesman.ini. În mod implicit, arată cam așa:
[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]
Nu trebuie să schimbați nimic aici, trebuie doar să dezactivați autentificarea cu drepturi root (AllowRootLogin=false). Pentru fiecare utilizator autorizat în sistem, este lansat un proces xrdp separat: dacă vă deconectați fără a încheia sesiunea, procesele utilizatorului vor continua să ruleze implicit și vă puteți conecta din nou la sesiune. Setările pot fi modificate în fișierul /etc/xrdp/sesman.ini (secțiunea [Sessions]).
Schimbarea aspectului tastaturii
De obicei, nu există probleme cu un clipboard cu două sensuri, dar cu aspectul tastaturii rusești va trebui să jucați puțin (localitatea rusă ar trebui să fie deja
sudo nano /etc/xrdp/xrdp_keyboard.ini
Trebuie să adăugați următoarele linii la sfârșitul fișierului de configurare:
[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
Tot ce rămâne este să salvați fișierul și să reporniți Xrdp:
sudo systemctl restart xrdp
După cum puteți vedea, nu este dificil să configurați un server RDP pe un VPS Linux, dar
Sursa: www.habr.com