VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04
Alcuni utenti affittanu VPS relativamente prezzu cù Windows per eseguisce servizii di desktop remoti. U stessu pò esse fattu in Linux senza allughjà u vostru propiu hardware in un centru di dati o allughjendu un servitore dedicatu. Certi pirsuni anu bisognu di un ambiente gràficu familiarizatu per a prova è u sviluppu, o un desktop remoto cun un largu canali per travaglià da i dispositi mobili. Ci hè parechje opzioni per utilizà u sistema di Virtual Network Computing (VNC) basatu in u protocolu Remote FrameBuffer (RFB). In questu brevi articulu vi diceremu cumu cunfigurà in una macchina virtuale cù qualsiasi ipervisore.

Table di cuntenutu:

Selezzione di un Servitore VNC
Stallazione è cunfigurazione
Cumincià un serviziu via systemd
Cunnessione Desktop

Selezzione di un Servitore VNC

U serviziu VNC pò esse integratu in u sistema di virtualizazione, è l'ipervisore u cunnetta cù i dispositi emulati è ùn serà micca necessariu cunfigurazione supplementaria. Questa opzione implica un overhead significativu è ùn hè micca supportatu da tutti i fornituri - ancu in una implementazione menu intensiva di risorse, quandu invece di emulà un veru dispositivu graficu, una astrazione simplificata (framebuffer) hè trasferita à a macchina virtuale. A volte un servitore VNC hè ligatu à un servitore X in esecuzione, ma stu metudu hè più adattatu per accede à una macchina fisica, è nantu à una virtuale crea una quantità di difficultà tecniche. U modu più faciule per installà un servitore VNC hè cun un servitore X integratu. Ùn hè micca bisognu di dispositi fisici (adattatore video, teclatu è mouse) o a so emulazione cù un hypervisor, è per quessa hè adattatu per ogni tipu di VPS.

Stallazione è cunfigurazione

Avemu bisognu di una macchina virtuale cù Ubuntu Server 18.04 LTS in a so cunfigurazione predeterminata. Ci sò parechji servitori VNC in i repositori standard di sta distribuzione: TightVNC, TigerVNC, x11vnc è altri. Avemu stallatu nantu à TigerVNC - una furchetta attuale di TightVNC, chì ùn hè micca supportatu da u sviluppatore. L'installazione di altri servitori hè fatta in modu simili. Avete ancu bisognu di sceglie un ambiente di desktop: l'opzione ottima, in u nostru parè, seria XFCE per via di i requisiti relativamente bassi per i risorse di l'informatica. Quelli chì volenu ponu installà un altru DE o WM: tuttu dipende di e preferenze persunale, ma l'scelta di u software affetta direttamente a necessità di RAM è nuclei di computing.

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

L'installazione di l'ambiente di u desktop cù tutte e dipendenze hè fatta cù u cumandimu seguente:

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

Dopu avete bisognu di stallà u servitore VNC:

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

Eseguisce cum'è superuser hè una mala idea. Crea un utilizatore è un gruppu:

sudo adduser vnc

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

Aghjunghjite l'utilizatore à u gruppu sudo per ch'ellu possa eseguisce attività amministrative. Se ùn ci hè micca bisognu, pudete saltà stu passu:

sudo gpasswd -a vnc sudo

U prossimu passu hè di eseguisce u servitore VNC cù privilegi d'utilizatore vnc per creà una password sicura è i schedarii di cunfigurazione in u repertoriu ~/.vnc/. A lunghezza di a password pò esse da 6 à 8 caratteri (i caratteri extra sò tagliati). Se necessariu, una password hè ancu stabilita per a visualizazione solu, i.e. senza accessu à u teclatu è u mouse. I seguenti cumandamenti sò eseguiti cum'è l'utilizatore vnc:

su - vnc
vncserver -localhost no

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04
Per automaticamente, u protokollu RFB usa a gamma di u portu TCP da 5900 à 5906 - questu hè cusì chjamatu. i porti di visualizazione, ognunu currisponde à una schermu di u servitore X. In questu casu, i porti sò assuciati cù schermi da : 0 à : 6. L'istanza di u servitore VNC chì avemu lanciatu ascolta u portu 5901 (schermu: 1). Altri casi ponu travaglià in altri porti cù schermi :2, :3, etc. Prima di più cunfigurazione, avete bisognu di piantà u servitore:

vncserver -kill :1

U cumandimu duveria vede qualcosa cum'è questu: "Uccidendu l'ID di prucessu Xtigervnc 18105... successu!"

Quandu TigerVNC principia, eseguisce u script ~/.vnc/xstartup per cunfigurà i paràmetri di cunfigurazione. Creemu u nostru propiu script, salvendu prima una copia di salvezza di quella esistente, s'ellu esiste:

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

A sessione di l'ambiente di desktop XFCE hè iniziata da u seguente script xstartup:

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

U cumandamentu xrdb hè necessariu per VNC per leghje u schedariu .Xresources in u cartulare di casa. Quì l'utilizatore pò definisce diverse paràmetri di u desktop graficu: rendering di font, culori di terminal, temi di cursore, etc. U script deve esse fattu eseguibile:

chmod 755 ~/.vnc/xstartup

Questu cumpleta a configurazione di u servitore VNC. Se l'eseguite cù u cumandamentu vncserver -localhost no (cum'è l'utilizatore vnc), pudete cunnette cù a password specificata prima è vede a seguente stampa:

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

Cumincià un serviziu via systemd

Cumincià manualmente un servitore VNC ùn hè micca adattatu per l'usu di cummattimentu, cusì cunfiguremu un serviziu di sistema. I cumandamenti sò eseguiti cum'è root (usemu sudo). Prima, creemu un novu schedariu di unità per u nostru servitore:

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

U simbulu @ in u nome permette di passà un argumentu per cunfigurà u serviziu. In u nostru casu, specifica u portu di visualizazione VNC. U schedariu di unità hè custituitu da parechje sezioni:

[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

Allora avete bisognu di avvisà Systemd nantu à u novu schedariu è attivà:

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

U numeru 1 in u nome specifica u numeru di screnu.

Arresta u servitore VNC, principià cum'è serviziu è verificate u statutu:

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

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

Se u serviziu hè in esecuzione, duvemu avè qualcosa cusì.

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

Cunnessione Desktop

A nostra cunfigurazione ùn usa micca a criptografia, cusì i pacchetti di rete ponu esse interceptati da l'attaccanti. Inoltre, in i servitori VNC abbastanza spessu truvà vulnerabilità, perchè ùn avete micca apertu per accessu da Internet. Per cunnette in modu sicuru in u vostru urdinatore locale, avete bisognu di imballà u trafficu in un tunnel SSH è poi cunfigurà un cliente VNC. In Windows, pudete aduprà un cliente gràficu SSH (per esempiu, PuTTY). Per a sicurità, TigerVNC nantu à u servitore ascolta solu l'host locale è ùn hè micca direttamente accessibile da e rete pubbliche:


sudo netstat -ap |more

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04
In Linux, FreeBSD, OS X è altri OS-like UNIX, un tunnel da l'urdinatore cliente hè fattu cù l'utilità ssh (sshd deve esse in esecuzione nantu à u servitore VNC):

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

L'opzione -L unisce u portu 5901 di a cunnessione remota à u portu 5901 in u locale host. L'opzione -C permette a cumpressione, è l'opzione -N dice à ssh di ùn eseguisce micca u cumandamentu remotu. L'opzione -l specifica u login per u login remoto.

Dopu avè stallatu u tunelu nantu à l'urdinatore lucale, avete bisognu di lancià u cliente VNC è stabilisce una cunnessione à l'ospite 127.0.0.1:5901 (localhost:5901), utilizendu a password previamente specificata per accede à u servitore VNC. Pudemu avà cumunicà in modu sicuru per via di un tunnel criptatu cù l'ambiente di desktop graficu XFCE in u VPS. In a screenshot, l'utilità superiore hè in esecuzione in l'emulatore di terminal per mostrà u bassu cunsumu di risorse informatiche di a macchina virtuale. Allora tuttu dependerà di l'applicazioni di l'utilizatori.

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04
Pudete installà è cunfigurà un servitore VNC in Linux in quasi ogni VPS. Questu ùn hè micca bisognu di cunfigurazioni caru è intensivi di risorse cù l'emulazione di l'adattatore video o l'acquistu di licenze di software cummerciale. In più di l'opzione di serviziu di u sistema chì avemu cunsideratu, ci sò altri: lanciari in modu daemon (via /etc/rc.local) quandu u sistema boots o nantu à dumanda via inetd. L'ultime hè interessante per creà cunfigurazioni multi-utilizatori. L'Internet Superserver hà da inizià u servitore VNC è cunnette u cliente à questu, è u servitore VNC creà una nova schermu è inizià a sessione. Per autentificà in ellu, pudete aduprà un gestore di visualizazione grafica (per esempiu, LightDM), è dopu à disconnecting u cliente, a sessione serà chjusa è tutti i prugrammi chì travaglianu cù u screnu seranu terminati.

VPS in Linux cù una interfaccia grafica: lanciazione di un servitore VNC in Ubuntu 18.04

Source: www.habr.com

Add a comment