In questa guida, spiegheremo come installare e configurare Accesso Remoto VNC in CentOS7/8 e RHEL9/8/7 edizione desktop tramite il programma tigervnc-server per accedere a macchine desktop remote.
VNC (Computing su Rete Virtuale) è un protocollo server-client che consente alle account utente di connettersi e controllare in remoto un sistema distante utilizzando le risorse fornite dall’Interfaccia Utente Grafica.
A differenza di altri server VNC disponibili che si connettono direttamente al desktop in esecuzione, come VNC X o Vino, tigervnc-vncserver utilizza un meccanismo diverso che configura un desktop virtuale standalone per ogni utente.
Requisiti
- Installazione di CentOS8 con Screenshot
- Procedura di installazione di CentOS7
- Come installare RHEL9 gratuitamente
- Come Installare RHEL8 Gratuitamente
- Procedura di Installazione di RHEL7
Passo1: Installare e Configurare VNC su CentOS
1. Tigervnc-server è un programma che esegue un server Xvnc e avvia sessioni parallele di Gnome o altri ambienti desktop sul desktop VNC.
A started VNC user session can be accessed by the same user from multiple VNC clients. In order to install the TigerVNC server in CentOS/RHEL, open a terminal session and issue the following yum command with root privileges.
$ sudo yum install tigervnc-server

2. Successivamente, dopo aver installato il programma, accedi con l’utente che desideri eseguire il programma VNC e inserisci il comando seguente nel terminale per configurare una password per il server VNC.
Si tenga presente che la password deve essere lunga almeno sei caratteri.
$ su - your_user $ vncpasswd

3. Successivamente, aggiungi un file di configurazione del servizio VNC per il tuo utente tramite un file di configurazione del demone posizionato nell’albero della directory systemd. Per copiare il file modello VNC è necessario eseguire il seguente comando cp con privilegi di root.
Se il tuo utente non è concesse privilegi sudo, o passa direttamente all’account root o esegui il comando da un account con privilegi di root.
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
4. Nel passaggio successivo modifica il file di configurazione del modello VNC copiato dal /etc/systemd/system/ directory e sostituisci i seguenti valori per riflettere il tuo utente come mostrato nel campione sottostante.
Il valore di 1
dopo il segno @
rappresenta il numero dello schermo (porta 5900+display
). Inoltre, per ogni server VNC avviato, la porta 5900 verrà incrementata di 1.
# vi /etc/systemd/system/vncserver@\:1.service
Aggiungi le seguenti righe al file vncserver@:1.service.
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=tecmint Group=tecmint WorkingDirectory=/home/tecmint ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i -geometry 1280x1024 PIDFile=/home/tecmint/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target

5. Dopo aver apportato le modifiche corrette al file del servizio VNC, ricarica il programma di inizializzazione del sistema systemd per acquisire il nuovo file di configurazione vnc e avviare il server TigerVNC.
Inoltre, controlla lo stato del servizio VNC e abilita il demone VNC a livello di sistema emettendo i comandi sottostanti.
# systemctl daemon-reload # systemctl start vncserver@:1 # systemctl status vncserver@:1 # systemctl enable vncserver@:1

6. Per elencare le porte aperte in stato di ascolto possedute dal server VNC, eseguire il comando ss, che viene utilizzato per visualizzare i socket 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 in cui si avviano altre istanze VNC in parallelo per diversi utenti, il valore della porta sarà 5902 per il secondo, 5903 per il terzo e così via. Le porte 6000+ vengono utilizzate per consentire alle applicazioni X di connettersi al server VNC.
# ss -tulpn| grep vnc

7. Per consentire ai client VNC esterni di connettersi al server VNC, è necessario assicurarsi che le porte aperte VNC appropriate siano autorizzate a passare attraverso il firewall.
Nel caso in cui venga avviata solo un’istanza del server VNC, è necessario aprire solo la prima porta VNC allocata: 5901/TCP emettendo i seguenti comandi per applicare la configurazione del firewall in tempo reale.
# firewall-cmd --add-port=5901/tcp # firewall-cmd --add-port=5901/tcp --permanent
Passo2: Connessione al desktop CentOS tramite client VNC
8. Essendo un protocollo indipendente dalla piattaforma, le connessioni remote Interfaccia Utente Grafica VNC possono essere eseguite da quasi qualsiasi sistema operativo con una GUI e un client VNC specializzato.
A popular VNC client used in Microsoft-based operating systems, fully compatible with Linux TigerVNC server, is the RealVNC VNC Viewer.
Per connettersi in remoto al CentOS Desktop da un sistema operativo Microsoft tramite il protocollo VNC, apri il programma VNC Viewer, aggiungi l’indirizzo IP e il numero di porta del server VNC CentOS e premi il tasto [enter].
Dopo che la connessione VNC è stata stabilita, dovrebbe essere visualizzato un avviso che indica che la connessione non è crittografata, come illustrato nelle seguenti schermate.


9. Per ignorare l’avviso, fai clic sul pulsante Continua, inserisci la password impostata per il server VNC al punto2 e dovresti essere connesso in remoto al CentOS Desktop con l’utente configurato per eseguire l’istanza del server VNC.


10. In caso appaia un nuovo messaggio di Autenticazione sullo schermo e il tuo utente non abbia privilegi di root, fai clic sul pulsante Annulla per continuare al CentOS Desktop, come mostrato nella seguente schermata.

Si tenga presente che la comunicazione VNC stabilita tra il server e il client e qualsiasi dato scambiato (tranne la password) viene eseguito su un canale non crittografato. Per crittografare e proteggere la trasmissione dei dati VPN, è prima necessario impostare un tunnel SSH sicuro e far passare qualsiasi traffico VPN sul tunnel SSH.
11. Per connettersi in remoto al CentOS Desktop tramite il protocollo VNC da altri CentOS Desktop, assicurati prima di installare il pacchetto vinagre sul tuo sistema emettendo il comando riportato di seguito.
$ sudo yum install vinagre
12. Per aprire l’utilità vinagre, vai a Applicazioni -> Strumenti -> Visualizzatore Desktop Remoto come mostrato nella schermata seguente.

13. Per connettersi in remoto a un Desktop CentOS, fai clic sul pulsante Connetti, seleziona il protocollo VNC dall’elenco e aggiungi l’indirizzo IP e la porta (5900+display numero) del server VNC remoto. Inoltre, fornisci la password impostata per l’utente VNC come illustrato nelle seguenti schermate.



14. Un altro popolare client VNC per piattaforme Linux è Remmina, un client desktop remoto che viene utilizzato soprattutto in distribuzioni basate su Debian che eseguono l’ambiente desktop GNOME.
Per installare il client Remmina Remote Desktop nelle distribuzioni basate su Debian, esegui il seguente comando.
$ sudo apt-get install remmina
Passo3: Configura più sessioni VNC su CentOS
15. Nel caso in cui tu abbia bisogno di eseguire una nuova sessione VNC parallela sotto lo stesso utente, apri una console Terminal, accedi con l’utente che desideri avviare la nuova sessione VNC ed esegui il comando seguente.
Quando avvii per la prima volta il server, ti verrà chiesto di fornire una nuova password per questa sessione. Tuttavia, tieni presente che questa sessione viene eseguita con i permessi dell’utente connesso e indipendentemente dalla sessione del server VNC systemd avviata.
$ vncserver

16. Le nuove sessioni VNC apriranno le porte VNC disponibili successive (mostrate nel presente esempio come 5900+3). Per visualizzare le porte aperte, eseguire il comando ss senza privilegi di root come illustrato nell’estratto sottostante. Questo elencherà solo le sessioni VNC avviate appartenenti al tuo utente.
$ ss -tlpn| grep Xvnc

17. Ora, connettersi in remoto al desktop CentOS utilizzando questa nuova sessione VNC e fornire la combinazione IP:porta (192.168.1.23:5903) nel client VNC come illustrato nell’immagine sottostante.

Per interrompere le istanze del server VNC avviate con i permessi dell’utente connesso, emettere il seguente comando senza privilegi di root. Questo comando distruggerà tutte le istanze VNC avviate possedute solo dall’utente che le ha avviate.
$ su - your_user $ killall Xvnc
E questo è tutto! Ora puoi accedere al tuo sistema CentOS e eseguire operazioni amministrative utilizzando l’interfaccia grafica fornita dal sistema operativo.
Source:
https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/