VNC ci consente di aprire una sessione GUI remota su un server, fornendoci così un'interfaccia grafica completamente accessibile da qualsiasi postazione remota.
Il server VNC è un software gratuito e open source progettato per consentire l'accesso remoto all'ambiente desktop del server tramite un client VNC (visualizzatore VNC).
In questo tutorial impareremo cos'è VNC e come installare o configurare VNC Server su CentOS 7.
Alcuni vantaggi del server VNC sono elencati di seguito:
- L'amministrazione remota della GUI rende il lavoro facile e conveniente.
- Condivisione degli appunti tra il server CentOS host e la macchina client VNC.
- Gli strumenti GUI possono essere installati sul server CentOS host per rendere l'amministrazione più potente
- Il server Host CentOS può essere amministrato tramite qualsiasi sistema operativo su cui è installato il client VNC.
- Più affidabile su grafica ssh e connessioni RDP.
Prima di tutto avremo bisogno di un ambiente desktop funzionante (X-Windows), se non abbiamo un ambiente desktop GUI funzionante (X Windows) in esecuzione, dovremo prima installarlo.
Nota:i comandi seguenti devono essere eseguiti sotto root o utente con privilegio sudo.
1. Installazione di X-Windows
Prima di tutto per installare X-Windows dovremo eseguire i comandi seguenti in una shell o in un terminale. Ci vorranno pochi minuti per installare i suoi pacchetti.
$sudo yum check-update
$sudo yum groupinstall "X Window System"
$sudo yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
$sudo unlink /etc/systemd/system/default.target
$sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
$sudo reboot
Dopo il riavvio della macchina, otterremo un desktop CentOS 7 funzionante.
2. Installazione del pacchetto server VNC su CentOS
Ora installeremo il pacchetto VNC Server nella nostra macchina CentOS 7. Per installare il server VNC, dovremo eseguire il seguente comando per installare il server tigervnc.
$sudo yum install tigervnc-server -y
3. Configurazione VNC
Quindi, dovremo creare un file di configurazione nella directory '/etc/systemd/system/'. Possiamo copiare il file 'vncserver@:1.service' dal file di esempio da '/lib/systemd/system/[email protected]'.
$sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
Ora apriremo '/etc/systemd/system/vncserver@:1.service' in un editor di testo. Quindi trova le righe di testo sottostanti in quel file e sostituisci "
Qui, nel mio caso è linoxide, quindi sto sostituendo '
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
a
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid
Se stai creando per l'utente root, allora:
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
Ora dovremo ricaricare il nostro systemd.
$ sudo systemctl daemon-reload
Infine, creeremo la password VNC per l'utente. Per fare ciò, prima devi assicurarti di avere sudo accesso all'utente, qui accederò all'utente "linoxide", quindi esegui quanto segue. Per accedere, eseguiremo 'su linoxide' senza virgolette.
# su linoxide
$ sudo vncpasswd
Assicurati di inserire password con più di 6 caratteri.
4. Abilitazione e avvio del servizio
Per abilitare il servizio all'avvio ( Permanente ) eseguire i comandi mostrati di seguito.
$ sudo systemctl enable vncserver@:1.service
Quindi, avvia il servizio.
$ sudo systemctl start vncserver@:1.service
5. Consentire i firewall
Ora dovremo consentire i servizi VNC nel firewall.
$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service
Ora puoi connettere il server VNC usando IP e Port (Es:ip-address:1).
6. Collegamento della macchina con il client VNC
Infine, abbiamo terminato l'installazione di VNC Server. No, vorremo connettere la macchina server e accedervi da remoto. Per questo avremo bisogno di un client VNC installato nel nostro computer che ci consentirà solo di accedere in remoto alla macchina server.
Puoi utilizzare client VNC come il visualizzatore Tightvnc e il visualizzatore Realvnc per connettere il server.
Per connetterti con utenti aggiuntivi, creare file con porte diverse, vai al passaggio 3 per configurare e aggiungere un nuovo utente e una nuova porta. Dovrai creare "vncserver@:2.service" e sostituire il nome utente nel file di configurazione e continuare il passaggi sostituendo il nome del servizio per porte diverse. Assicurati di aver effettuato l'accesso come quel particolare utente per la creazione della password vnc.
VNC da solo funziona sulla porta 5900. Poiché ogni utente eseguirà il proprio server VNC, ogni utente dovrà connettersi tramite una porta separata. L'aggiunta di un numero nel nome del file indica a VNC di eseguire quel servizio come sottoporta di 5900
. Quindi, nel nostro caso, il servizio VNC "aruns" verrà eseguito sulla porta 5901 (5900 + 1) e inoltre verrà eseguito su 5900 + x. Dove x indica la porta specificata durante la creazione del file di configurazione 'vncserver@:x.service' per gli altri utenti.
Avremo bisogno di conoscere l'indirizzo IP e la porta del server per connetterci con il client. Gli indirizzi IP sono il numero di identità univoco della macchina. Qui, il mio indirizzo IP è 96.126.120.92 e la porta per questo utente è 1. Possiamo ottenere l'indirizzo IP pubblico eseguendo il comando seguente in una shell o in un terminale della macchina in cui è installato VNC Server.
$sudo curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
Come disinstallare il server VNC
Puoi disinstallare facilmente il server vnc usando il comando yum.
Esegui il comando seguente per rimuovere tigervnc dal server centos:
$sudo yum remove tigervnc-server
Conclusione
Infine, abbiamo installato e configurato VNC Server nella macchina che esegue CentOS 7/RHEL 7 (Red Hat Enterprises Linux). VNC è lo strumento FOSS più semplice per l'accesso remoto e anche una buona alternativa allo strumento di accesso remoto TeamViewer. VNC consente a un utente con client VNC installato di controllare la macchina con server VNC installato.
Ecco alcuni altri comandi che potrebbero essere utili mentre si lavora con vnc.
$sudo systemctl stop vncserver@:1.service
Per disabilitare il servizio VNC dall'avvio:
$sudo systemctl disable vncserver@:1.service