Come installare e configurare il server VNC in CentOS 7

In questa guida spiegheremo come installare e configurare l’accesso remoto VNC nell’ultima versione di CentOS 7 e RHEL 7 Desktop edition tramite il programma tigervnc-server.

VNC (Virtual Network Computing) è un protocollo server-client che permette agli account utente di connettersi in remoto e controllare un sistema lontano utilizzando le risorse fornite dall’interfaccia grafica utente.

A differenza di altri server VNC disponibili che si connettono direttamente al desktop runtime, come VNC X o Vino, tigervnc-vncserver utilizza un meccanismo diverso che configura un desktop virtuale autonomo per ogni utente.

Requisiti

  1. Procedura di installazione di CentOS 7
  2. Procedura di installazione di RHEL 7

Passo 1: installare e configurare VNC in CentOS 7

1. Tigervnc-server è un programma che esegue un server Xvnc e avvia sessioni parallele di Gnome o altri ambienti desktop sul desktop VNC.

Una sessione utente VNC avviata può essere raggiunta dallo stesso utente da più client VNC. Al fine di installare il server TigerVNC in CentOS 7, aprire una sessione di terminale ed emettere il seguente comando con privilegi di root.

$ sudo yum install tigervnc-server

2. Dopo aver installato il programma, accedere con l’utente che si desidera eseguire il programma VNC ed emettere il seguente comando nel terminale al fine di configurare una password per il server VNC.

Siate consapevoli che la password deve essere di almeno sei caratteri di lunghezza.

$ su - your_user # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI$ vncpasswd

3. Successivamente, aggiungere un file di configurazione del servizio VNC per il vostro utente tramite un file di configurazione del demone collocato nella directory systemd. Per copiare il file modello VNC è necessario eseguire il seguente comando con i privilegi di root.

Se il vostro utente non ha i privilegi di sudo, passate direttamente all’account di root o eseguite il comando da un account con privilegi di root.

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

4. Al passo successivo modificate il file di configurazione del modello VNC copiato dalla directory /etc/systemd/system/ e sostituite i valori per riflettere il vostro utente come mostrato nel seguente esempio.

Il valore di 1 dopo il segno @ rappresenta il numero di visualizzazione (porta 5900+display). Inoltre, per ogni server VNC avviato, la porta 5900 sarà incrementata di 1.

# vi /etc/systemd/system/vncserver@\:1.service

Aggiungi le seguenti linee al file vncserver@:1.service.

Description=Remote desktop service (VNC)After=syslog.target network.targetType=forkingExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/sbin/runuser -l my_user -c "/usr/bin/vncserver %i -geometry 1280x1024"PIDFile=/home/my_user/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'WantedBy=multi-user.target

5. Dopo aver apportato le opportune modifiche al file di servizio VNC, ricaricare il programma di inizializzazione del sistema systemd per raccogliere il nuovo file di configurazione vnc e avviare il server TigerVNC.

Inoltre, controllare lo stato del servizio VNC e abilitare il demone VNC a livello di sistema emettendo i seguenti comandi.

# systemctl daemon-reload# systemctl start vncserver@:1# systemctl status vncserver@:1# systemctl enable vncserver@:1
Avvia il servizio VNC

6. Per elencare le porte aperte in stato di ascolto di proprietà del server VNC, eseguire il comando ss, che viene utilizzato in CentOS 7 per visualizzare le prese di rete. Poiché hai avviato solo un’istanza del server VNC, la prima porta aperta è 5901/TCP.

Ancora una volta, il comando ss deve essere eseguito con privilegi di root. Nel caso si avviino altre istanze VNC in parallelo per diversi utenti, il valore della porta sarà 5902 per la seconda, 5903 per la terza e così via. Le porte 6000+ sono usate per permettere alle applicazioni X di connettersi al server VNC.

# ss -tulpn| grep vnc
Verificare le porte di ascolto VNC

7. Al fine di consentire ai client VNC esterni di connettersi al server VNC in CentOS, è necessario assicurarsi che le porte aperte VNC appropriate siano autorizzate a passare attraverso il firewall.

Nel caso in cui venga avviata una sola istanza del server VNC, è necessario aprire solo la prima porta VNC assegnata: 5901/TCP emettendo i seguenti comandi per applicare la configurazione del firewall in fase di esecuzione.

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

Passo 2: Connessione al desktop CentOS tramite client VNC

8. Essendo un protocollo indipendente dalla piattaforma, le connessioni remote VNC Graphical User Interface possono essere eseguite da quasi tutti i sistemi operativi con una GUI e un client VNC specializzato.

Un popolare client VNC usato nei sistemi operativi basati su Microsoft, pienamente compatibile con il server Linux TigerVNC, è il RealVNC VNC Viewer.

Per connettersi in remoto al CentOS Desktop da un sistema operativo Microsoft tramite il protocollo VNC, aprire il programma VNC Viewer, aggiungere l’indirizzo IP e il numero di porta del server VNC CentOS e premere il tasto .

Dopo che la connessione VNC è stata stabilita, un avviso che dice che la connessione non è criptata dovrebbe essere visualizzato sullo schermo come illustrato nelle schermate seguenti.

VNC Viewer Client
VNC Viewer Client Connection

9. Per bypassare l’avvertimento, premi il pulsante Continua, aggiungi la password impostata per il server VNC al punto 2 e dovresti essere connesso in remoto a CentOS Desktop con l’utente configurato per eseguire l’istanza del server VNC.

VNC Server User Password
VNC Remote CentOS Desktop

10. Nel caso in cui un nuovo messaggio di autenticazione appare sullo schermo e il tuo utente non ha privilegi di root, basta premere il pulsante Annulla per continuare a CentOS Desktop, come mostrato nello screenshot sottostante.

Avviso di autenticazione del server VNC

Siate consapevoli che la comunicazione VNC stabilita tra il server e il client e qualsiasi dato scambiato (tranne la password) viene eseguito su un canale non criptato. Al fine di crittografare e proteggere il trasferimento dei dati VPN, prima è necessario impostare un tunnel SSH sicuro ed eseguire qualsiasi traffico VPN successivo sul tunnel SSH.

11. Al fine di connettersi in remoto al CentOS Desktop tramite il protocollo VNC da un altro CentOS Desktop, assicuratevi prima che il pacchetto vinagre sia installato sul vostro sistema emettendo il seguente comando.

$ sudo yum install vinagre

12. Per aprire l’utilità vinagre, vai su Applicazioni -> Utilità -> Remote Desktop Viewer come mostrato nello screenshot sottostante.

Aprire Vinagre Tool

13. Per connettersi in remoto a un desktop CentOS, premere il pulsante Connect, selezionare il protocollo VNC dalla lista e aggiungere l’indirizzo IP e la porta (5900+numero di visualizzazione) del server VNC remoto. Inoltre, fornisci la password impostata per l’utente VNC come illustrato nei seguenti screenshot.

Seleziona il protocollo desktop remoto
Inserisci dettagli VNC remoto
Remote VNC CentOS Desktop

14. Un altro popolare client VNC per piattaforme basate su Linux è Remmina, è un client desktop remoto è particolarmente usato nelle distribuzioni basate su Debian che eseguono l’ambiente desktop GNOME.

Per installare il client Remmina Remote Desktop nelle distro basate su Debian emettere il seguente comando.

$ sudo apt-get install remmina

Step 3: Configurare sessioni VNC multiple in CentOS 7

15. Nel caso in cui è necessario eseguire una nuova sessione VNC parallela sotto lo stesso utente, aprire una console terminale, accedere con l’utente che si desidera avviare la nuova sessione VNC ed eseguire il seguente comando.

Quando si avvia per la prima volta il server vi verrà chiesto di fornire una nuova password per questa sessione. Tuttavia, siate consapevoli che questa sessione viene eseguita con i permessi del vostro utente loggato e indipendentemente dalla sessione avviata del server VNC systemd.

$ vncserver
Avvia nuova sessione VNC

16. Le nuove sessioni VNC apriranno le prossime porte disponibili basate su VNC (5900+3 display in questo esempio). Per visualizzare le porte aperte, esegui il comando ss senza privilegi di root come illustrato nel seguente estratto. Elencherà solo le sessioni VNC avviate dovute al tuo utente.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

17. Ora, connettiti da remoto al CentOS Desktop usando questa nuova sessione VNC, fornisci la combinazione IP:porta (192.168.1.23:5903) nel client VNC come illustrato nell’immagine sottostante.

Connettiti a VNC Remote Desktop

Per fermare le istanze del server VNC avviate con questi permessi di utente loggato, emetti il seguente comando senza privilegi di root. Questo comando distruggerà tutte le istanze VNC avviate possedute solo dall’utente che le ha dichiarate.

$ su - your_user$ killall Xvnc

Leggi anche: Installare da remoto CentOS 7 o RHEL 7 usando la modalità VNC

Questo è tutto! Ora puoi accedere al tuo sistema CentOS 7 ed eseguire attività amministrative utilizzando l’interfaccia grafica fornita dal sistema operativo.

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.