VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04
Disa përdorues marrin me qira VPS relativisht të lira me Windows për të ekzekutuar shërbimet e desktopit në distancë. E njëjta gjë mund të bëhet në Linux pa pritur pajisjen tuaj në një qendër të dhënash ose pa marrë me qira një server të dedikuar. Disa njerëz kanë nevojë për një mjedis të njohur grafik për testim dhe zhvillim, ose një desktop në distancë me një kanal të gjerë për të punuar nga pajisjet celulare. Ka shumë opsione për përdorimin e sistemit të llogaritjes së rrjetit virtual (VNC) të bazuar në protokoll Remote FrameBuffer (RFB). Në këtë artikull të shkurtër do t'ju tregojmë se si ta konfiguroni atë në një makinë virtuale me çdo hipervizor.

Përmbajtja:

Zgjedhja e një serveri VNC
Instalimi dhe konfigurimi
Nisja e një shërbimi përmes systemd
Lidhja e Desktopit

Zgjedhja e një serveri VNC

Shërbimi VNC mund të ndërtohet në sistemin e virtualizimit dhe hipervizori do ta lidhë atë me pajisjet e emuluara dhe nuk do të kërkohet asnjë konfigurim shtesë. Ky opsion përfshin shpenzime të konsiderueshme dhe nuk mbështetet nga të gjithë ofruesit - madje edhe në një zbatim më pak intensiv të burimeve, kur në vend të imitimit të një pajisjeje reale grafike, një abstraksion i thjeshtuar (framebuffer) transferohet në makinën virtuale. Ndonjëherë një server VNC është i lidhur me një server X që funksionon, por kjo metodë është më e përshtatshme për të hyrë në një makinë fizike dhe në një virtual krijon një sërë vështirësish teknike. Mënyra më e lehtë për të instaluar një server VNC është me një server X të integruar. Nuk kërkon pajisje fizike (përshtatës video, tastierë dhe mi) ose emulim të tyre duke përdorur një hipervizor, dhe për këtë arsye është i përshtatshëm për çdo lloj VPS.

Instalimi dhe konfigurimi

Do të na duhet një makinë virtuale me Ubuntu Server 18.04 LTS në konfigurimin e saj të paracaktuar. Ekzistojnë disa serverë VNC në depot standarde të kësaj shpërndarjeje: TightVNC, TigerVNC, x11vnc dhe të tjerët. Ne u vendosëm në TigerVNC - një pirun aktual i TightVNC, i cili nuk mbështetet nga zhvilluesi. Vendosja e serverëve të tjerë bëhet në mënyrë të ngjashme. Ju gjithashtu duhet të zgjidhni një mjedis desktop: opsioni optimal, sipas mendimit tonë, do të ishte XFCE për shkak të kërkesave relativisht të ulëta për burimet kompjuterike. Ata që dëshirojnë mund të instalojnë një tjetër DE ose WM: gjithçka varet nga preferencat personale, por zgjedhja e softuerit ndikon drejtpërdrejt në nevojën për RAM dhe bërthama kompjuterike.

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

Instalimi i mjedisit të desktopit me të gjitha varësitë bëhet me komandën e mëposhtme:

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

Tjetra ju duhet të instaloni serverin VNC:

sudo apt-get install tigervnc-standalone-server tigervnc-common

Përdorimi i tij si superpërdorues është një ide e keqe. Krijo një përdorues dhe grup:

sudo adduser vnc

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

Le të shtojmë përdoruesin në grupin sudo në mënyrë që ai të mund të kryejë detyra të lidhura me administrimin. Nëse nuk ka nevojë të tillë, mund ta kaloni këtë hap:

sudo gpasswd -a vnc sudo

Hapi tjetër është të ekzekutoni serverin VNC me privilegjet e përdoruesit vnc për të krijuar një fjalëkalim të sigurt dhe skedarë konfigurimi në drejtorinë ~/.vnc/. Gjatësia e fjalëkalimit mund të jetë nga 6 deri në 8 karaktere (karakteret shtesë janë prerë). Nëse është e nevojshme, vendoset edhe një fjalëkalim vetëm për shikim, d.m.th. pa qasje në tastierë dhe maus. Komandat e mëposhtme ekzekutohen si përdorues vnc:

su - vnc
vncserver -localhost no

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04
Si parazgjedhje, protokolli RFB përdor gamën e portit TCP nga 5900 në 5906 - kjo është e ashtuquajtura. portat e ekranit, secila korrespondon me një ekran të serverit X. Në këtë rast, portet shoqërohen me ekrane nga :0 në :6. Shembulli i serverit VNC që lëshuam dëgjon portin 5901 (ekrani: 1). Instancat e tjera mund të punojnë në porte të tjera me ekrane :2, :3, etj. Përpara konfigurimit të mëtejshëm, duhet të ndaloni serverin:

vncserver -kill :1

Komanda duhet të shfaqë diçka si kjo: "Vrasja e procesit Xtigervnc ID 18105... sukses!"

Kur fillon TigerVNC, ai ekzekuton skriptin ~/.vnc/xstartup për të konfiguruar cilësimet e konfigurimit. Le të krijojmë skriptin tonë, së pari duke ruajtur një kopje rezervë të ekzistuesit, nëse ekziston:

mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup

Sesioni i mjedisit të desktopit XFCE fillon me skriptin e mëposhtëm xstartup:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &

Komanda xrdb kërkohet që VNC të lexojë skedarin .Xresources në direktorinë kryesore. Atje përdoruesi mund të përcaktojë cilësime të ndryshme grafike të desktopit: paraqitjen e shkronjave, ngjyrat e terminalit, temat e kursorit, etj. Skripti duhet të bëhet i ekzekutueshëm:

chmod 755 ~/.vnc/xstartup

Kjo përfundon konfigurimin e serverit VNC. Nëse e ekzekutoni me komandën vncserver -localhost no (si përdorues vnc), mund të lidheni me fjalëkalimin e specifikuar më parë dhe të shihni foton e mëposhtme:

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

Nisja e një shërbimi përmes systemd

Nisja manuale e një serveri VNC nuk është e përshtatshme për përdorim luftarak, kështu që ne do të konfigurojmë një shërbim të sistemit. Komandat ekzekutohen si rrënjë (ne përdorim sudo). Së pari, le të krijojmë një skedar të ri njësi për serverin tonë:

sudo nano /etc/systemd/system/[email protected]

Simboli @ në emër ju lejon të kaloni një argument për të konfiguruar shërbimin. Në rastin tonë, ai specifikon portën e ekranit VNC. Skedari i njësisë përbëhet nga disa seksione:

[Unit]
Description=TigerVNC server
After=syslog.target network.target

[Service]
Type=simple
User=vnc 
Group=vnc 
WorkingDirectory=/home/vnc 
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Pastaj ju duhet të njoftoni systemd për skedarin e ri dhe ta aktivizoni atë:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

Numri 1 në emër specifikon numrin e ekranit.

Ndaloni serverin VNC, filloni atë si shërbim dhe kontrolloni statusin:

# от имени пользователя vnc 
vncserver -kill :1

# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

Nëse shërbimi po funksionon, duhet të marrim diçka të tillë.

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

Lidhja e Desktopit

Konfigurimi ynë nuk përdor enkriptim, kështu që paketat e rrjetit mund të përgjohen nga sulmuesit. Për më tepër, në serverët VNC mjaft shpesh gjeni dobësi, kështu që nuk duhet t'i hapni ato për qasje nga Interneti. Për t'u lidhur në mënyrë të sigurt në kompjuterin tuaj lokal, duhet të paketoni trafikun në një tunel SSH dhe më pas të konfiguroni një klient VNC. Në Windows, mund të përdorni një klient grafik SSH (për shembull, PuTTY). Për sigurinë, TigerVNC në server dëgjon vetëm localhost dhe nuk është drejtpërdrejt i aksesueshëm nga rrjetet publike:


sudo netstat -ap |more

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04
Në Linux, FreeBSD, OS X dhe OS të tjera të ngjashme me UNIX, një tunel nga kompjuteri i klientit është krijuar duke përdorur mjetin ssh (sshd duhet të funksionojë në serverin VNC):

ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip

Opsioni -L lidh portin 5901 të lidhjes në distancë me portin 5901 në localhost. Opsioni -C mundëson kompresimin dhe opsioni -N i thotë ssh të mos ekzekutojë komandën në distancë. Opsioni -l specifikon hyrjen për hyrje në distancë.

Pas konfigurimit të tunelit në kompjuterin lokal, duhet të nisni klientin VNC dhe të krijoni një lidhje me hostin 127.0.0.1:5901 (localhost:5901), duke përdorur fjalëkalimin e specifikuar më parë për të hyrë në serverin VNC. Tani mund të komunikojmë në mënyrë të sigurt nëpërmjet një tuneli të koduar me mjedisin e desktopit grafik XFCE në VPS. Në pamjen e ekranit, programi kryesor po funksionon në emulatorin e terminalit për të treguar konsumin e ulët të burimeve kompjuterike të makinës virtuale. Atëherë gjithçka do të varet nga aplikacionet e përdoruesve.

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04
Mund të instaloni dhe konfiguroni një server VNC në Linux në pothuajse çdo VPS. Kjo nuk kërkon konfigurime të shtrenjta dhe me burime intensive me emulimin e përshtatësit video ose blerjen e licencave komerciale të softuerit. Përveç opsionit të shërbimit të sistemit që shqyrtuam, ka të tjera: nisja në modalitetin daemon (nëpërmjet /etc/rc.local) kur sistemi niset ose sipas kërkesës përmes inetd. Kjo e fundit është interesante për krijimin e konfigurimeve me shumë përdorues. Superserveri i Internetit do të nisë serverin VNC dhe do të lidhë klientin me të, dhe serveri VNC do të krijojë një ekran të ri dhe do të fillojë seancën. Për të vërtetuar brenda tij, mund të përdorni një menaxher grafik të ekranit (për shembull, LightDM), dhe pas shkëputjes së klientit, seanca do të mbyllet dhe të gjitha programet që punojnë me ekranin do të ndërpriten.

VPS në Linux me një ndërfaqe grafike: nisja e një serveri VNC në Ubuntu 18.04

Burimi: www.habr.com

Shto një koment