VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04
Neki korisnici iznajmljuju relativno jeftin VPS sa sustavom Windows za pokretanje usluga udaljene radne površine. Isto se može učiniti na Linuxu bez smještaja vlastitog hardvera u podatkovnom centru ili iznajmljivanja namjenskog poslužitelja. Neki ljudi trebaju poznato grafičko okruženje za testiranje i razvoj ili udaljenu radnu površinu sa širokim kanalom za rad s mobilnih uređaja. Postoji mnogo opcija za korištenje sustava virtualne mreže (VNC) temeljenog na protokolu Remote FrameBuffer (RFB). U ovom kratkom članku ćemo vam reći kako ga konfigurirati na virtualnom računalu s bilo kojim hipervizorom.

Oglašavanje:

Odabir VNC poslužitelja
Instalacija i konfiguracija
Pokretanje usluge preko systemd
Veza sa radnom površinom

Odabir VNC poslužitelja

VNC servis se može ugraditi u virtualizacijski sustav, a hipervizor će ga povezati s emuliranim uređajima i neće biti potrebna dodatna konfiguracija. Ova opcija uključuje značajne troškove i ne podržavaju je svi pružatelji - čak i u implementaciji koja zahtijeva manje resursa, kada se umjesto emulacije stvarnog grafičkog uređaja, pojednostavljena apstrakcija (framebuffer) prenosi na virtualni stroj. Ponekad je VNC poslužitelj vezan za pokrenuti X poslužitelj, ali ova je metoda prikladnija za pristup fizičkom stroju, a na virtualnom stvara niz tehničkih poteškoća. Najlakši način za instaliranje VNC poslužitelja je pomoću ugrađenog X poslužitelja. Ne zahtijeva fizičke uređaje (video adapter, tipkovnicu i miš) niti njihovu emulaciju pomoću hipervizora, te je stoga prikladan za bilo koju vrstu VPS-a.

Instalacija i konfiguracija

Trebat će nam virtualni stroj s Ubuntu Serverom 18.04 LTS u zadanoj konfiguraciji. Postoji nekoliko VNC poslužitelja u standardnim spremištima ove distribucije: Čvrst, TigerVNC, x11vnc i drugi. Odlučili smo se za TigerVNC - trenutni fork TightVNC-a, koji programer ne podržava. Postavljanje ostalih poslužitelja vrši se na sličan način. Također morate odabrati okruženje radne površine: optimalna opcija, po našem mišljenju, bila bi XFCE zbog relativno niskih zahtjeva za računalnim resursima. Oni koji žele mogu instalirati još jedan DE ili WM: sve ovisi o osobnim preferencijama, ali izbor softvera izravno utječe na potrebu za RAM-om i računalnim jezgrama.

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

Instalacija desktop okruženja sa svim ovisnostima vrši se sljedećom naredbom:

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

Zatim trebate instalirati VNC poslužitelj:

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

Pokretanje kao superkorisnik je loša ideja. Izradite korisnika i grupu:

sudo adduser vnc

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

Dodajmo korisnika u grupu sudo kako bi mogao obavljati poslove vezane uz administraciju. Ako nema takve potrebe, možete preskočiti ovaj korak:

sudo gpasswd -a vnc sudo

Sljedeći korak je pokretanje VNC poslužitelja s vnc korisničkim povlasticama za stvaranje sigurne lozinke i konfiguracijskih datoteka u direktoriju ~/.vnc/. Duljina lozinke može biti od 6 do 8 znakova (suvišni znakovi se odsijecaju). Ako je potrebno, postavlja se i lozinka samo za gledanje, tj. bez pristupa tipkovnici i mišu. Sljedeće naredbe se izvršavaju kao vnc korisnik:

su - vnc
vncserver -localhost no

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04
Prema zadanim postavkama, RFB protokol koristi raspon TCP porta od 5900 do 5906 – to je tzv. portovi za prikaz, od kojih svaki odgovara ekranu X poslužitelja. U ovom slučaju, priključci su povezani sa zaslonima od :0 do :6. Instanca VNC poslužitelja koju smo pokrenuli sluša port 5901 (zaslon: 1). Druge instance mogu raditi na drugim priključcima sa ekranima :2, :3, itd. Prije daljnje konfiguracije morate zaustaviti poslužitelj:

vncserver -kill :1

Naredba bi trebala prikazati nešto poput ovoga: "Killing Xtigervnc ID ID 18105... uspjeh!"

Kada se TigerVNC pokrene, pokreće ~/.vnc/xstartup skriptu za konfiguraciju konfiguracijskih postavki. Kreirajmo vlastitu skriptu, prvo spremimo sigurnosnu kopiju postojeće, ako postoji:

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

Sesiju XFCE desktop okruženja pokreće sljedeća xstartup skripta:

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

Naredba xrdb potrebna je VNC-u za čitanje datoteke .Xresources u početnom direktoriju. Tamo korisnik može definirati razne postavke grafičke radne površine: prikaz fonta, boje terminala, teme kursora itd. Skripta mora biti izvršna:

chmod 755 ~/.vnc/xstartup

Ovo dovršava postavljanje VNC poslužitelja. Ako ga pokrenete naredbom vncserver -localhost no (kao vnc korisnik), možete se spojiti s prethodno navedenom lozinkom i vidjeti sljedeću sliku:

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

Pokretanje usluge preko systemd

Ručno pokretanje VNC poslužitelja nije prikladno za borbenu upotrebu, stoga ćemo konfigurirati uslugu sustava. Naredbe se izvršavaju kao root (koristimo sudo). Prvo, kreirajmo novu jediničnu datoteku za naš poslužitelj:

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

Simbol @ u nazivu omogućuje vam prosljeđivanje argumenta za konfiguriranje usluge. U našem slučaju, navodi VNC port za prikaz. Datoteka jedinice sastoji se od nekoliko odjeljaka:

[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

Zatim trebate obavijestiti systemd o novoj datoteci i aktivirati je:

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

Broj 1 u nazivu označava broj zaslona.

Zaustavite VNC poslužitelj, pokrenite ga kao servis i provjerite status:

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

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

Ako usluga radi, trebali bismo dobiti nešto ovako.

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

Veza sa radnom površinom

Naša konfiguracija ne koristi enkripciju, tako da napadači mogu presresti mrežne pakete. Osim toga, u VNC poslužiteljima prilično često pronaći ranjivosti, stoga ih ne biste trebali otvarati za pristup s interneta. Da biste se sigurno povezali na vašem lokalnom računalu, trebate upakirati promet u SSH tunel i zatim konfigurirati VNC klijent. U sustavu Windows možete koristiti grafički SSH klijent (na primjer, PuTTY). Radi sigurnosti, TigerVNC na poslužitelju sluša samo lokalni host i nije mu izravno dostupan s javnih mreža:


sudo netstat -ap |more

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04
U Linuxu, FreeBSD-u, OS X-u i drugim operativnim sustavima sličnim UNIX-u, tunel s klijentskog računala se pravi pomoću uslužnog programa ssh (sshd mora biti pokrenut na VNC poslužitelju):

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

Opcija -L povezuje port 5901 udaljene veze s portom 5901 na lokalnom hostu. Opcija -C omogućuje kompresiju, a opcija -N govori ssh-u da ne izvršava udaljenu naredbu. Opcija -l navodi prijavu za udaljenu prijavu.

Nakon postavljanja tunela na lokalnom računalu, potrebno je pokrenuti VNC klijent i uspostaviti vezu na host 127.0.0.1:5901 (localhost:5901), koristeći prethodno specificiranu lozinku za pristup VNC serveru. Sada možemo sigurno komunicirati putem šifriranog tunela s XFCE okruženjem grafičke radne površine na VPS-u. Na snimci zaslona gornji uslužni program radi u emulatoru terminala kako bi pokazao malu potrošnju računalnih resursa virtualnog stroja. Tada će sve ovisiti o korisničkim aplikacijama.

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04
Možete instalirati i konfigurirati VNC poslužitelj u Linuxu na gotovo svakom VPS-u. Ovo ne zahtijeva skupe i resursno zahtjevne konfiguracije s emulacijom video adaptera ili kupnju komercijalnih softverskih licenci. Uz opciju usluge sustava koju smo razmotrili, postoje i druge: pokretanje u daemon modu (preko /etc/rc.local) kada se sustav diže ili na zahtjev putem inetd-a. Potonji je zanimljiv za stvaranje višekorisničkih konfiguracija. Internet Superserver će pokrenuti VNC server i spojiti klijenta na njega, a VNC server će kreirati novi ekran i pokrenuti sesiju. Za autentifikaciju unutar njega možete koristiti grafički upravitelj prikaza (na primjer, LightDM), a nakon odspajanja klijenta, sesija će biti zatvorena i svi programi koji rade sa ekranom će biti prekinuti.

VPS na Linuxu s grafičkim sučeljem: pokretanje VNC poslužitelja na Ubuntu 18.04

Izvor: www.habr.com

Dodajte komentar