−25%

la planurile Windows anuale, până pe 31 oct. Vezi planurile

EQVPS
Începe

Cum instalezi un desktop pe un VPS Linux și te conectezi prin Remote Desktop (XFCE + xrdp)

Un desktop grafic pe un VPS cu Ubuntu 24.04, deschis cu aplicația obișnuită de Remote Desktop: XFCE și xrdp, cele două setări implicite care îl strică (sesiune greșită, fără TLS) și o configurație în care portul 3389 nu e niciodată expus internetului. Cu spațiul pe disc și RAM-ul pe sesiune măsurate.

Un server Linux nu are ecran și de cele mai multe ori nici nu are nevoie. Uneori are: un browser care trebuie să iasă de pe adresa serverului, o unealtă doar cu interfață grafică sau un desktop pe care îl lași pornit și la care revii de pe orice calculator. Acest ghid adaugă în Ubuntu 24.04 desktopul ușor XFCE și xrdp, ca să îl deschizi cu aceeași aplicație Remote Desktop pe care ai folosi-o pentru un server Windows.

Am testat fiecare pas pe imaginea noastră Ubuntu 24.04. Două setări implicite au stricat prima încercare, iar mai jos le reparăm pe amândouă. Ai nevoie de un utilizator normal cu sudo; ghidul de configurare Ubuntu creează unul. În exemple se numește deploy.

1. Instalează XFCE și xrdp

sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

Pe serverul nostru de 2 GB a durat cam patru minute și jumătate și a ocupat 1,7 GB de disc (2,7 GB ocupați înainte, 4,4 GB după). Se instalează xrdp 0.9.24, care pornește imediat și ascultă pe portul 3389.

2. Fă ca xrdp să pornească XFCE, nu GNOME

Autentifică-te cu utilizatorul care va folosi desktopul și rulează:

echo xfce4-session > ~/.xsession

Fără acest fișier, prima noastră autentificare a pornit GNOME în loc de XFCE, iar sesiunea a căzut imediat cu „Oh no! Something has gone wrong”. Pachetele de la pasul 1 aduc și managerul de sesiune GNOME, iar Ubuntu îl face implicit. Cu ~/.xsession la locul lui, xrdp pornește XFCE.

3. Lasă xrdp să folosească TLS

xrdp rulează cu propriul utilizator xrdp, iar acesta nu poate citi cheia privată a serverului. Prima noastră conexiune a mers, dar /var/log/xrdp.log a arătat de ce nu trebuie să ai încredere în ea:

Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1

Fără cheie, xrdp revine la vechea criptare RDP în loc de TLS. Dă-i acces și repornește:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

Următoarea conexiune apărea în jurnalul nostru ca TLS connection established ... TLSv1.3. Poți verifica la fel la tine:

sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2

4. Ține portul 3389 departe de internet

După instalare, xrdp ascultă pe toate adresele. Spre deosebire de Windows, xrdp nu are Network Level Authentication, așa că oricine ajunge la port primește un ecran de autentificare pe care poate ghici parole. Fă-l să asculte doar pe serverul însuși:

sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389

Ultima linie trebuie să arate 127.0.0.1:3389. În testul nostru, o conexiune directă la adresa serverului pe 3389 a fost apoi refuzată, iar tunelul de la pasul următor a mers în continuare.

5. Conectează-te prin SSH

Pe calculatorul tău deschide un tunel. Pe Windows, PowerShell are aceeași comandă ssh:

ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP

Pe un plan NAT adaugă -p și portul SSH personal din panou. Lasă fereastra deschisă. Apoi îndreaptă aplicația de Remote Desktop spre localhost:13389 și autentifică-te ca deploy cu parola acelui utilizator:

  • Windows: Conexiune Desktop la distanță (mstsc).
  • macOS: Windows App din App Store.
  • Linux: Remmina sau xfreerdp /v:localhost:13389 /u:deploy.

Portul local este 13389, nu 3389, pentru că 3389 poate fi deja ocupat pe calculatorul tău de propriul Remote Desktop. Prima dată aplicația avertizează despre un certificat pe care nu îl recunoaște. Este certificatul autosemnat al serverului, iar conexiunea e oricum criptată în SSH.

6. Ce primești

Primești un desktop XFCE cu panou, manager de fișiere și terminal. Pe serverul nostru, o sesiune a adăugat circa 360 MB de RAM: 388 MB folosiți înainte de conectare, 747 MB în timpul sesiunii.

Închiderea ferestrei de Remote Desktop nu te deloghează. În testul nostru, o comandă lungă a continuat după ce ne-am deconectat. Când ne-am conectat din nou, xrdp ne-a readus în aceeași sesiune (reconnected session ... display :10 în jurnalul lui). Ca să închei sesiunea de-adevăratelea, folosește Log Out din meniul XFCE.

Ce plan

Desktopul are nevoie de RAM mai mult decât de CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/lună) rulează XFCE și unelte ușoare fără efort. Dacă vrei să ții un browser deschis în sesiune, ia Small cu 4 vCPU și 4 GB pentru $8/lună. Ambele sunt planuri NAT, iar aici nu contează: Remote Desktop trece prin portul tău SSH.

Dacă de fapt ai nevoie de programe Windows, un VPS Windows le rulează direct, iar Windows-Small pornește de la $11/lună. Ubuntu 24.04 este pe pagina Ubuntu VPS și pe toate planurile Linux din VPS. Plata se face în USDT, USDC sau ETH pe Base, Ethereum sau Polygon.

Întrebări frecvente

Mă pot conecta cu aplicația obișnuită Remote Desktop din Windows?

Da. xrdp vorbește protocolul RDP, așa că merg Conexiunea Desktop la distanță din Windows, Windows App pe macOS și Remmina sau xfreerdp pe Linux. Te conectezi la localhost printr-un tunel SSH, nu la adresa serverului.

Funcționează pe un plan NAT?

Da. Conexiunea RDP trece prin SSH, iar SSH e chiar singurul port pe care un plan NAT îl redirecționează spre serverul tău. E configurația pe care acest ghid o recomandă pe orice plan, pentru că portul 3389 rămâne închis spre internet.

Câtă memorie RAM folosește desktopul?

Pe serverul nostru de test, o sesiune XFCE a adăugat circa 360 MB: memoria folosită a crescut de la 388 MB la 747 MB. Planul Micro de 2 GB ajunge pentru desktop și unelte ușoare. Dacă vei rula un browser în sesiune, 4 GB sunt mai comozi.

Văd un ecran negru sau „Oh no! Something has gone wrong”. Ce s-a întâmplat?

xrdp a pornit GNOME în loc de XFCE. Pachetele de la pasul 1 aduc și managerul de sesiune GNOME, iar Ubuntu îl face implicit în sistem. Creează ~/.xsession cu xfce4-session pentru utilizatorul care se autentifică și conectează-te din nou.

Mă pot autentifica prin RDP ca root?

xrdp permite implicit (AllowRootLogin=true în /etc/xrdp/sesman.ini), dar folosește mai bine un utilizator normal cu sudo. Ca să blochezi root, setează AllowRootLogin=false și repornește xrdp.

Comentarii

Încă nu există comentarii. Fii primul.

Lasă un comentariu

Comentariile sunt moderate înainte să apară.