From e7489185e9379e84b611d3f9f3f11d47f0f1594f Mon Sep 17 00:00:00 2001 From: Celestino Amoroso Date: Sat, 21 Oct 2023 00:16:26 +0200 Subject: [PATCH] Add vncserver.adoc Prima stesura --- vncserver.adoc | 125 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 vncserver.adoc diff --git a/vncserver.adoc b/vncserver.adoc new file mode 100644 index 0000000..bd52905 --- /dev/null +++ b/vncserver.adoc @@ -0,0 +1,125 @@ += Attivazione server VNC +Installazione e configurazione di TigerVNC +:authors: Celestino Amoroso +:docinfo: shared +:encoding: utf-8 +:toc: right +:toclevels: 4 +:toc-title: Indice Generale +:icons: font +:icon-set: fi +:numbered: +:table-caption: Tabella +:figure-caption: Diagramma +:docinfo1: +:sectlinks: +:sectanchors: +:source-highlighter: rouge +// :rouge-style: ThankfulEyes +:rouge-style: gruvbox +// :rouge-style: colorful +//:rouge-style: monokay + +toc::[] + +== Installazione server TigerVNC +Installare con utente _root_ o _sudo_ il pacchetto *tigervnc-server*. + +.Installazione pacchetto +[source,sh] +---- +[root@minis ~]# dnf install tigervnc-server +---- + +== Configurazione server +La configurazione prevede interventi sul file globale `/etc/tigervnc/vncserver.users` e sui file locali `~/.vnc/config` per ogni utente abilitato. + +=== Configurazione utenti +Modificare il file `/etc/tigervnc/vncserver.users` per definire l'associazione fra un'istanza di server VNC ed il corrispondente utente proprietario. + +.Associzione utente / istanza VNC +[source,sh] +---- +# TigerVNC User assignment +# +# This file assigns users to specific VNC display numbers. +# The syntax is =. E.g.: +# +# :2=andrew +# :3=lisa +:5=camoroso +:2=elena +---- + +TIP: Il numero dell'istanza VNC definisce la corrispondente porta TCP. In altre parole, l'istanza _:N_ definisce la porta 5900+__N__. Esempio, all'istanza *:5* corrisponde la porta *5905*. + +=== Preferenze dell'utente +Le proprietà di un specifica istanza si impostano nel file `~/.vnc/config` dell'utente proprietario. Ad esempio, secondo la configurazione di sopra, l'utente proprietario dell'istanza *:5* è _camoroso_. +Per tale utente il file `config` presenta il seguente contenuto. + +.Configurazione VNC di _camoroso_ sul mini-pc +[source,sh] +---- +[camoroso@minis ~]$ cat .vnc/config +# create new +# session=(display manager you use) +# securitytypes=(security options) +# geometry=(screen resolution) + +session=plasma +securitytypes=vncauth +geometry=1024x768 +---- +NOTE: Al momento non ho trovato documentazione sui parametri e relativi valori che è possibile specificare in questo file. Il contenuto attuale è basato su un esempio trovato in un forum. + +Questa configurazione d'esempio specifica che il server VNC deve caricare una sessione _plasma_, ovvero il desktop KDE, con una risoluzione _1024x768_. + +Il valore _vncauth_ del parametro _securitytypes_ inoltre specifica che l'accesso al server richiede l'autenticazione dell'utente mediante password impostata con il comando _vncpasswd_. + +=== Password dell'utente +Il comando _vncpasswd_ consente di imopostare la password dell'utente proprietario dell'istanza VNC e, se richiesta, anche una password ausiliara che abilita la sola visione del contenuto dell'istanza. + +.Impostazione password +[source,sh] +---- +[camoroso@minis ~]$ vncpasswd +Password: +Verify: +Would you like to enter a view-only password (y/n)? y +Password: +Verify: +---- + +Le password sono registrate in forma non leggibile nel file `~/.vnc/passwd`. + + +=== Servizio _systemd_ e avviamento +Come utente _root_ o con il comando _sudo_ copiare il modello di unit per l'esecuzione di istanza VCN. + +[source,sh] +---- +[root@minis ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service + +# Abilitare un'istanza, esempio la :5, per l'avviamento al boot +[root@minis ~]# systemctl enable vncserver@:5.service + +# Avviamento di un'istanza, esempio la :5 +[root@minis ~]# systemctl start vncserver@:5.service +---- + +== Connessione al server VNC +Il pacchetto TigerVNC comprende il programma _vncviewer_ con il quale è possibile verificare il funzionamento del server. Prima di visualizzare il contenuto dell'istanza, all'utente è richiesto l'inserimento della password impostata con _vncpasswd_. + +Un uso pratico del servizio VNC prevede la visualizzazione remota di un'istanza VNC. In questo caso, per operare in modo sicuro, è consigliato canalizzare il protocolo VNC attraversio una connessione SSH. + +.Esempio di canalizzazione SSH su MacOS +---- +celestino@MBP-CELESTINO DKV % ssh -NL 5905:localhost:5905 minis.internet +---- + +Il comando _ssh_ stabilisce una connessione sicura SSH al mini-pc attraverso il suo indirizzo esterno e subito dopo apre la porta *5905* locale al PC Mac. Il flusso da e verso questa porta è canalizzato alla stessa porta del mini-pc, ovvero quella dell'istanza *:5* del server VNC. + +TIP: Per terminare la canalizzazione, premere semplicemente la sequenza _Ctrl-C_. + +TIP: Un esempio di visualizzatore VNC per MacOS è _Remote Desktop - VNC_. +