Maybaygiare.org

Blog Network

Installazione e configurazione di un server VNC su CentOS 7

13.07.2020

In questa guida, vedremo come installare e configurare un server VNC su CentOS 7.x sistema operativo per consentire connessioni remote da qualsiasi client VNC, come TightVNC, RealVNC e altri. In particolare, lo faremo utilizzando il software TigerVNC Server, uno strumento gratuito che consente l’utilizzo di un desktop virtuale autonomo.

Introduzione

VNC (Virtual Network Computing) è un protocollo client-server che consente a un computer client (che esegue un client VNC) di connettersi e controllare un computer remoto (in esecuzione su un server VNC). Il software è stato sviluppato da Olivetti & Oracle Research lab di Cambridge, Regno Unito, e il suo codice sorgente è ancora aggiornato e disponibile sotto la General Public License (GNU).

A seconda del software del server, il client VNC si connetterà al desktop attivo (ad esempio, come programmi TeamViewer o AnyDesk) o un desktop virtuale autonomo (come il protocollo desktop remoto RDP di Windows). Quest’ultimo, forse più potente e sicuro, soprattutto se è necessario gestire il computer server perché ogni sessione sarà un ambiente unico, configurato con le autorizzazioni ei diritti dell’utente connesso. Ecco perché scegliamo TigerVNC, che esegue sessioni parallele dell’ambiente desktop del computer (GNOME, KDE o un’altra GUI): ciò significa che verrà creato un desktop virtuale per ogni connessione: questo è esattamente ciò che vogliamo.

Installazione di TigerVNC

Ora vediamo come possiamo installare e configurare TigerVNC su CentOS. La prima cosa da fare è installare il programma TigerVNC Server aprendo una sessione di terminale e inserendo il seguente comando con privilegi di root:

$ sudo yum install tigervnc-server

Subito dopo, è necessario creare un utente VNC separato da cui verrà effettuata la connessione (con una password dedicata). Per fare ciò, inserisci quanto segue:

$ sudo adduser vncuser
$ sudo passwd vncuser

Importante: non farlo mai come utente root — questo rappresenterà una seria minaccia per la sicurezza del tuo sistema. La soluzione migliore sarebbe quella di lasciare l’utente root senza accesso a VNC e impostare un account dedicato con diritti limitati.

Dopo aver creato vncuser e impostato una password per l’accesso, è anche necessario impostare una password VNC univoca per questo utente. Il comando per farlo è:

$ su - vncuser
$ vncpasswd

(la prima riga può essere omessa se abbiamo già effettuato l’accesso come vncuser in anticipo).

La prossima cosa da fare è creare un file di configurazione VNC per vncuser. Il modo più rapido per farlo è copiare il file del modello VNC condiviso che si trova nella cartella / lib / systemd / system/e quindi cambiarlo:

$ cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Il numero 1 che abbiamo aggiunto al nuovo nome del file è il numero di visualizzazione che verrà utilizzato per questa particolare istanza del servizio. Questo è importante sapere perché determinerà anche la porta TCP che verrà utilizzata dal nostro server VNC, pari a 5900 + numero di display. Il primo sarà 5901, poi 5902 e così via.

Subito dopo la copia è necessario modificare il nuovo file utilizzando Vi, Nano o un altro editor di testo e sostituirlo con il nome dell’utente creato di recente (nel nostro caso, vncuser). Questo è il modo in cui il file dovrebbe occuparsi dell’aggiornamento (ad eccezione della parte lunga commentata all’inizio):


Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

WantedBy=multi-user.target

Una volta fatto ciò, è possibile ricaricare il demone VNC ed eseguire vncserver @ 1 con i seguenti comandi:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

Prima di procedere, verificare che il servizio è in esecuzione, inserendo il systemctl status di comando:

$ systemctl status vncserver@:1

e creare un link simbolico in modo che venga sempre eseguito all’avvio del sistema utilizzando il seguente comando:

$ systemctl enable vncserver@:1

un Altro test che è possibile eseguire prima di tentare di connettersi al server, è guardare l’attiva presa di rete utilizzando thesscommand: se tutto funziona correttamente, dovresti vedere che il server VNC funziona e utilizza la porta TCP 5901. Esegui il comando:

$ ss -tulpn| grep vnc

Il risultato dovrebbe essere il seguente:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

Se vedi questo, allora tutto è impostato correttamente.

Configurazione del firewall

Poiché il nostro servizio VNC è in ascolto sulla porta TCP 5901, è necessario essere sicuri che tale porta sia aperta e accessibile ai client esterni. Pertanto, se è installato un firewall, è necessario creare una regola appropriata che consenta ai client VNC di connettersi.

Il numero di porte da aprire dipenderà dal numero di istanze del server VNC di cui hai bisogno. Nel nostro scenario, abbiamo fatto solo 1, quindi è sufficiente aprire la prima porta VNC dedicata: TCP 5901, come abbiamo già detto. Il comando per aprire questa porta su Firewalld:

# firewall-cmd --add-port = 5901 / tcp
# firewall-cmd --add-port = 5901 / tcp --permanent

Non sarà superfluo ricordare che è anche possibile limitare questa porta a determinati gruppi, indirizzi IP, schede di rete o altre regole firewall semplici o complesse.

Installazione dell’interfaccia utente grafica (GUI)

Se hai già GNOME, KDE o altri ambienti desktop installati, puoi saltare questo passaggio. Altrimenti, è necessario installarne uno: il server TigerVNC avvierà un’istanza parallela di questo ambiente desktop per ogni sessione di accesso, il che significa che dobbiamo avere almeno una GUI.

GNOME

Se si desidera una grande, ma pesante interfaccia GNOME, inserire quanto segue:

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Se hai bisogno di un’alternativa leggera, possiamo offrire Xfce, un ambiente libero e open source per piattaforme Unix-like che funziona alla grande con TigerVNC. GNOME funziona anche alla grande, ma è abbastanza risorse intensive: se si desidera risparmiare risorse sul computer server, Xfce potrebbe essere la scelta migliore. Per installarlo, inserisci quanto segue:

$ yum install epel-release
$ yum groupinstall xfce

Impostazioni aggiuntive per Xfce

Se decidi di utilizzare Xfce, dovrai anche modificare il file che è stato eseguito all’avvio della sessione VNC. Per fare ciò, modificare il file / home / < utente >/.vnc/xstartup e modificare la voce exec (di solito la linea 4) da etc/X11/xinit/xinitrc per startxfce4, come mostrato di seguito:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC client di connessione

Ora che tutto è a posto, siamo in grado di connetterci al nostro servizio VNC utilizzando un client VNC, come TightVNC, UltraVNC o RealVNC, e vedere cosa succede. Ricordatevi di specificare la porta TCP 5901 (se avete seguito la nostra guida).

Possibili problemi

Se il client non riesce a stabilire una connessione VNC funzionante, è necessario controllare quanto segue:

1. Problemi di connessione-Configurazione firewall: se vengono visualizzati errori pop-up che il client non può connettersi all’host remoto, è necessario controllare la configurazione della rete e del firewall per assicurarsi che non vi siano problemi di blocco che potrebbero impedire al client di connettersi alla porta del server TCP 5901.

2. Schermo nero con il mouse-aggiornamento YUM o reinstallazione della GUI: se vedi una schermata nera con un cursore del mouse funzionante, probabilmente significa che la tua connessione VNC funziona bene, ma c’è qualcosa che impedisce alla GUI di avviarsi correttamente desktop. Per la correzione:

  • Eseguire yum update per installare le ultime versioni di TigerVNC e la GUI stessa. Assicurarsi di tenere traccia di eventuali problemi che si verificano durante la fase di installazione.
  • Disinstallare e reinstallare la GUI utilizzando il comando yum remove / yum group remove e yum groupinstall di nuovo. Se ancora nulla funziona, puoi provare a installare una GUI diversa.
19703 Claymont 2093 Philadelphia Pike #2345, stati UNITI.

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

19703 Claymont 2093 Philadelphia Pike #2345, stati UNITI.

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.