Cum se instalează și se configurează VNC pe Ubuntu 20.04

Introducere

Virtual Network Computing, sau VNC, este un sistem de conectare care vă permite să utilizați tastatura și mouse-ul pentru a interacționa cu un mediu desktop grafic pe un server de la distanță. Aceasta facilitează gestionarea fișierelor, software-ului și setărilor pe un server de la distanță pentru utilizatorii care nu sunt încă confortabili cu linia de comandă.

în acest ghid, veți configura un server VNC cu TightVNC pe un server Ubuntu 20.04 și vă veți conecta la acesta în siguranță printr-un tunel SSH., Apoi, veți utiliza un program client VNC pe mașina dvs. locală pentru a interacționa cu serverul dvs. printr-un mediu desktop grafic.pentru a finaliza acest tutorial, veți avea nevoie de:

  • un server Ubuntu 20.04 cu un utilizator administrativ non-root și un firewall configurat cu UFW. Pentru a configura acest lucru, urmați ghidul nostru inițial de configurare a serverului Pentru Ubuntu 20.04.
  • un computer local cu un client VNC instalat. Clientul VNC pe care îl utilizați trebuie să accepte conexiuni prin tuneluri SSH:
    • pe Windows, puteți utiliza TightVNC, RealVNC sau UltraVNC.,
    • pe macOS, puteți utiliza programul de partajare a ecranului încorporat sau puteți utiliza o aplicație multiplă platformă precum RealVNC.
    • Pe Linux, puteți alege din mai multe opțiuni, inclusiv vinagre, krdc, RealVNC, sau TightVNC.

Pasul 1 — Instalarea Mediu Desktop și Server VNC

în mod implicit, un Ubuntu 20.04 server nu vin cu un mediu desktop grafic sau un server VNC instalat, așa că voi începe prin instalarea alea.,

aveți multe opțiuni atunci când vine vorba de serverul VNC și mediul desktop pe care îl alegeți. În acest tutorial, veți instala pachete pentru cel mai recent mediu desktop Xfce și pachetul TightVNC disponibil din depozitul oficial Ubuntu. Atât Xfce cât și TightVNC sunt cunoscute pentru a fi ușoare și rapide, ceea ce va ajuta la asigurarea faptului că conexiunea VNC va fi lină și stabilă chiar și pe conexiunile la internet mai lente.,

După conectarea la server prin SSH, actualiza lista de pachete:

  • sudo apt update

Acum, pentru a instala Xfce, împreună cu xfce4-goodies pachet, care conține câteva îmbunătățiri pentru mediul desktop:

  • sudo apt install xfce4 xfce4-goodies

în Timpul instalării, vi se poate solicita să alegeți un default display manager pentru Xfce. Un manager de afișare este un program care vă permite să selectați și să vă conectați la un mediu desktop printr-o interfață grafică., Veți utiliza Xfce numai atunci când vă conectați cu un client VNC, iar în aceste sesiuni Xfce veți fi deja conectat ca utilizator Ubuntu non-root. Deci, în scopul acestui tutorial, alegerea dvs. de manager de afișare nu este pertinentă. Selectați una și apăsați ENTER.,

Odată ce instalarea se încheie, instalați TightVNC server:

  • sudo apt install tightvncserver

Apoi, executați vncserver comandă pentru a seta un VNC parola de acces, de a crea configurația inițială fișiere, și de a începe un server VNC exemplu:

  • vncserver

vi se va solicita să introduceți și confirmați o parolă pentru a accesa aparatul de la distanță:

Output
You will require a password to access your desktops.Password:Verify:

parola trebuie să fie între șase și opt caractere. Parolele mai mult de 8 caractere vor fi trunchiate automat.,după ce verifici parola, vei avea opțiunea de a crea o parolă doar pentru vizualizare. Utilizatorii care se conectează cu parola doar pentru vizualizare nu vor putea controla instanța VNC cu mouse-ul sau tastatura. Aceasta este o opțiune utilă dacă doriți să demonstrați ceva altor persoane care utilizează serverul VNC, dar acest lucru nu este necesar.

procesul creează apoi fișierele de configurare implicite necesare și informațiile de conectare pentru server. În plus, lansează o instanță de server implicită pe portul 5901., Acest port este numit un port de afișare, și este menționată de VNC ca :1. VNC poate lansa mai multe instanțe de pe alte display porturi, cu :2 referindu-se la portul 5902, :3 referindu-se la 5903, și așa mai departe:

Rețineți că, dacă doriți să schimbați parola sau pentru a adăuga o vedere-doar parola, puteți face acest lucru cu vncpasswd command:

  • vncpasswd

În acest moment, VNC server este instalat și rulează., Acum, să-l configurăm pentru a lansa Xfce și a ne oferi acces la server printr-o interfață grafică.

Pasul 2-Configurarea serverului VNC

serverul VNC trebuie să știe ce comenzi să execute atunci când pornește. Mai exact, VNC trebuie să știe la ce mediu desktop grafic ar trebui să se conecteze.

comenzile care VNC server ruleaza la pornire se află într-un fișier de configurare numit xstartup în .vnc folder în directorul tau de casa., Scriptul de pornire a fost creat când ați rulat comanda vncserver în pasul anterior, dar veți crea propriul dvs. pentru a lansa desktopul Xfce.,e VNC server este configurat, prima oprire VNC instanță de server care rulează pe portul 5901 cu următoarea comandă:

  • vncserver -kill :1

ieșire va arata acest lucru, deși veți vedea un alt PID:

Output
Killing Xtightvnc process ID 17648

Înainte de a modifica xstartup fișier, back-up original:

  • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Acum creați un nou xstartup fișierul și deschideți-l într-un editor de text, cum ar fi nano:

  • nano ~/.vnc/xstartup

Apoi adăugați următoarele linii în fișierul:

~/.,vnc / xstartup
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

prima linie este un shebang. În fișierele executabile cu text simplu pe platformele * nix, un shebang spune sistemului ce interpret să treacă acel fișier pentru execuție. În acest caz, transmiteți fișierul interpretului Bash. Acest lucru va permite ca fiecare linie succesivă să fie executată ca comenzi, în ordine.

prima comandă din fișier, xrdb $HOME/.Xresources, spune cadrul GUI al VNC pentru a citi fișierul .Xresources al utilizatorului serverului., .Xresources este locul în care un utilizator poate modifica anumite setări ale desktopului grafic, cum ar fi culorile terminalelor, temele cursorului și redarea fonturilor. A doua comandă spune serverului să lanseze Xfce. Ori de câte ori porniți sau reporniți serverul VNC, aceste comenzi se vor executa automat.Salvați și închideți fișierul după adăugarea acestor linii. Dacă ați utilizat nano, face acest lucru prin apăsarea CTRL + X, Y, apoi ENTER.,

Pentru a se asigura că VNC server va fi capabil de a utiliza acest nou fișier de pornire în mod corespunzător, aveți nevoie pentru a face executabil:

  • chmod +x ~/.vnc/xstartup

Apoi reporniți server VNC:

  • vncserver -localhost

Observați că de data asta comanda include -localhost opțiune, care se leagă de VNC server la server-ul dvs. este interfața loopback. Acest lucru va face ca VNC să permită numai conexiunile care provin de la serverul pe care este instalat.,

în pasul următor, veți stabili un tunel SSH între mașina dvs. locală și serverul dvs., păcălind în esență VNC să creadă că conexiunea de la mașina dvs. locală a provenit de pe serverul dvs. Această strategie va adăuga un strat suplimentar de securitate în jurul VNC, deoarece singurii utilizatori care o vor putea accesa sunt cei care au deja acces SSH la serverul dvs.

veți vedea o ieșire similară cu aceasta:

cu configurația instalată, sunteți gata să vă conectați la serverul VNC de pe computerul dvs. local.,

Pasul 3-Conectarea la desktop-ul VNC în siguranță

VNC în sine nu utilizează protocoale sigure la conectare. Pentru a vă conecta în siguranță la serverul dvs., veți stabili un tunel SSH și apoi îi veți spune clientului dvs.

creați o conexiune SSH pe computerul local care transmite în siguranță lalocalhost conexiune pentru VNC., Puteți face acest lucru prin intermediul terminalului pe Linux sau macOS, cu următoarele ssh command:

  • ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

Aici e ceea ce acest ssh comanda opțiuni spun:

  • -L 59000:localhost:5901: -L comutator specifică faptul că un anumit port de pe computerul local (59000) este de a fi transmise date gazdă și port de pe serverul de destinație (localhost:5901, în sensul port 5901 pe serverul destinație, definit ca your_server_ip)., Rețineți că portul local pe care îl specificați este oarecum arbitrar; atâta timp cât portul nu este deja legat de un alt serviciu, îl puteți utiliza ca port de redirecționare pentru tunelul dvs.
  • -C: acest steag permite comprimarea care poate ajuta la minimizarea consumului de resurse și la accelerarea lucrurilor.
  • -N: Această opțiune vă spune ssh că nu vrei să execute comenzi de la distanță. Această setare este utilă atunci când doriți doar să redirecționați porturile.,
  • -l sammy your_server_ip: -l comutare să specificați utilizatorul pe care doriți să vă conectați ca odată ce vă conectați la server. Asigurați-vă că înlocuiți sammy și your_server_ip cu numele de utilizator non-root și adresa IP a serverului.

Notă: Această comandă stabilește un tunel SSH care transmite informații de la port 5901 pe server VNC să port 59000 pe computerul local prin portul 22 pe fiecare mașină, portul implicit pentru SSH., Presupunând că ați urmat ghidul inițial de configurare a serverului pentru Ubuntu 20.04, veți fi adăugat o regulă UFW pentru a permite conexiunile la serverul dvs. prin OpenSSH.

Acest lucru este mult mai sigur decât pur și simplu deschizi server firewall pentru a permite conexiuni la port 5901, după care ar permite oricine pentru a accesa server de VNC. Prin conectarea printr-un tunel SSH, limitați accesul VNC la mașinile care au deja acces SSH la server.,dacă utilizați PuTTY pentru a vă conecta la serverul dvs., puteți crea un tunel SSH făcând clic dreapta pe bara de sus a ferestrei terminal, apoi făcând clic pe opțiunea Change Settings…:

găsiți ramura de conexiune în meniul arbore din partea stângă a ferestrei de reconfigurare PuTTY. Extindeți ramura SSH și faceți clic pe tuneluri., Cu privire la Opțiunile de control SSH port forwarding ecran, introduceți 59000 ca Sursă de Port și localhost:5901 ca Destinație, astfel:

Apoi faceți clic pe butonul Add, și apoi pe butonul Aplica pentru a pune în aplicare tunel.

odată ce tunelul rulează, utilizați un client VNC pentru a vă conecta la localhost:59000. Vi se va solicita să vă autentificați folosind parola pe care ați setat-o la Pasul 1.

după ce sunteți conectat, veți vedea desktopul Xfce implicit., Acesta ar trebui să arate ceva de genul asta:

puteți accesa fișierele în directorul tau de casa cu manager fișiere sau din linia de comandă, așa cum se vede aici:

Apăsați CTRL+C în terminal local pentru a opri tunel SSH și a reveni la dumneavoastră prompt. Acest lucru va deconecta sesiunea VNC, de asemenea.acum Puteți configura serverul VNC pentru a rula ca un serviciu systemd.,

Pasul 4-rularea VNC ca serviciu de sistem

prin configurarea serverului VNC pentru a rula ca serviciu systemd puteți porni, opri și reporni după cum este necesar, ca orice alt serviciu. De asemenea, puteți utiliza comenzile de gestionare ale systemd pentru a vă asigura că VNC începe atunci când serverul dvs. pornește.

în Primul rând, a crea o nouă unitate fișier numit /etc/systemd/system/[email protected]:

@ simbol de la sfârșitul numelui ne va lăsa să treacă într-un argument puteți folosi în serviciul de configurare., Veți utiliza acest lucru pentru a specifica portul de afișare VNC pe care doriți să îl utilizați atunci când gestionați serviciul.

adăugați următoarele linii La fișier. Asigurați-vă că modificați valoarea User, Group, Workingdirector și numele de utilizator în valoarea PIDFILE pentru a se potrivi cu numele dvs. de utilizator:

/etc/systemd/system/[email protected]

comandaExecStartPre oprește VNC dacă rulează deja. Comanda ExecStart pornește VNC și stabilește adâncimea culorii la culoarea pe 24 de biți cu o rezoluție de 1280×800. Puteți modifica și aceste opțiuni de pornire pentru a vă satisface nevoile., De asemenea, rețineți că comanda ExecStart include din nou opțiunea -localhost.

Salvați și închideți fișierul.

apoi, face sistemul conștienți de noua unitate fișier:

  • sudo systemctl daemon-reload

Permite unității fișier:

1 următor @ semn care semnifică numărul de afișare de servicii ar trebui să apară peste, în acest caz, default :1 cum a fost discutat în Pasul 2.,

nu mai actual exemplu de server VNC dacă este încă în desfășurare:

  • vncserver -kill :1

Apoi porniți-l ca tine ar începe orice alte systemd servicii:

  • sudo systemctl start vncserver@1

puteți verifica că totul a început cu această comandă:

  • sudo systemctl status vncserver@1

Dacă a început în mod corect, rezultatul ar trebui să arate acest lucru:

VNC server este acum gata pentru a utiliza server-ul dvs. ori de câte ori cizme sus, și puteți gestiona cu systemctl comenzi ca orice alte systemd serviciu.

cu toate acestea, nu va exista nicio diferență pe partea de client., Să se reconecteze, începe tunel SSH din nou:

  • ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip

Apoi face o nouă conexiune folosind VNC client software pentru localhost:59000 să se conecteze la server.

concluzie

acum aveți un server VNC securizat și rulează pe serverul Ubuntu 20.04. Acum veți putea să vă gestionați fișierele, software-ul și setările cu o interfață grafică ușor de utilizat și veți putea rula software grafic precum browserele web de la distanță.

Author: admin

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *