[ubuntu-it] VNC e Desktop Remoto

Marco mrfabbri a gmail.com
Sab 25 Nov 2006 10:48:12 GMT


tempo fa mi sono appuntato un howto su come
configurare Xvnc (con inetd) dovrebbe esserti utile,
in particolare la parte su GDM....

Scopo
Configurare un server vnc autonomo per controllo remoto, e configurare
il servizio in modo che sia avviato da inetd.

A. Materiale Necessario
sul host che farà da server vnc sono necessari vncserver e (demone ssh
che dovresti già avere)
apt-get install vnc4server
(apt-get install sshd)

B. Configurazione
La configurazione coinvolge login manager (gdm in questo caso) e inetd

1. è necessario modificare /etc/gdm/gdm.conf in modo che accetti
connesioni via tcp, i.e.

nella sezione [xdmcp]
acommentare la linea Enable=true

(*NOTA) questo permette di connettersi al login via la porta :177 indi è
meglio che suddetta porta sia firewallata (la sessione vnc sarà
inoltrata via tunnel ssh sul host, per cui la connessione vnc<-->gdm
avviene localmente)

2. configura il buon vecchio internet super demone (inetd) in modo da
avviare un server vnc ogni qualvolta che un cliente vnc si connette alla
porta 5950, più clienti avranno diverse sessioni vnc

(*NOTA) vnc per associare porta a #display utilizza la regola porta=5900
+#display e.g. #display 50 --> porta 5950

si aggiunge in coda al file /etc/inetd.cof facendolo seguire da una riga
vuota (ciò che segue a dispetto di evolution è tutto su una riga)

5950    stream  tcp nowait nobody /usr/bin/Xvnc Xvnc -inetd -geometry
800x600 -depth 16 -query localhost -once -securitytypes=none

(*NOTE) le opzioni più significative
-nowait alloca per ogni cliente una nuova sessione, i.e. nessun altro
utente può vedere la tua sessione vnc, per contro quando mi disconnetto
da vnc viene anche terminata la mia sessione di lavoro non è possibile
disconnettersi e riconnettersi alla stessa sessione di lavoro
-query localhost effettua la richiesta di login al gdm locale
-securitytypes=none elimina l'autenticazione di vnc (l'autenticazione
viene comunque effettuata a livello di ssh prima e di login poi - la cui
password viaggia, grazie ad ssh, criptata)

Per utilizzare il servervnc in modalità persistente, i.e.
disconnettendosi e riconnettendosi alla stessa sessione di lavoro (la
porta su cui è attivo il servizio sarà legata ad una sola sessione) è
necessario utilizzare l'opzione wait ed abilitare l'autenticazione vnc,
per evitare hijiaking della sessione, si aggiunge in coda al
file /etc/inetd.cof facendolo seguire da una riga vuota (al solito ciò
che segue a dispetto di evolution è tutto su una riga)

5951    stream tcp wait mfabbri /usr/bin/Xvnc Xvnc -inetd -query
localhost -once passwordFile=/home/mfabbri/.vnc/passwd

dove mfabbri è l'utente per cui vogliamo avere la sessione persistente
(in questa configurazione sarà necessario avere una riga per ogni utente
di cui si vuole abilitare la sessione persistente)

Una volta apportate le modifiche a inetd.conf per fare ricaricare ad
inetd suddetto file è necessario inviare il segnale di hang up SIGHUP
i.e.

sudo killall -SIGHUP inetd

Per generare il  passwordFile /home/mfabbri/.vnc/passwd è necessario
eseguire il comando vncpasswd (in questo caso come utente mfabbri)

C. Esecuzione
Sul computer da cui si vuole controllare il server remoto $PIPPOSERVER
eseguire

vncviewer -via $PIPPOSERVER :50

per la sessione persistente invece
vncviewer -via $PIPPOSERVER :51

se il visualizzatore vnc non supporta l'opzione via si può ovviare
eseguendo su una console

ssh -L 5950:mfabbri a localhost:5950 $PIPPOSERVER

e su un altra console

vncviewer :50




On 11/24/06, Ettore <pippoedf a gmail.com> wrote:
>  Ok ho risolto aggiungendo queste righe a /etc/xinetd.d/Xvnc
>
>  service x11vnc
>  {
>  port = 5900
>  type = UNLISTED
>  socket_type = stream
>  protocol = tcp
>  wait = no
>  user = root
>  server = /usr/bin/x11vnc
>  server_args = -inetd -o /var/log/x11vnc.log -display :0 -auth
> /var/lib/gdm/:0.X$
>  disable = no
>  }
>
>
>  Ora devo solo cercare di capire come farmi accedere solo con la password.
>
>
> --
> ubuntu-it mailing list
> ubuntu-it a lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-it
>
>
>


-- 
Marco

=====
"Noi non sappiamo niente
- questo è il primo punto.
Di conseguenza, dobbiamo essere molto modesti
- questo è il secondo punto.
Che non diciamo di sapere, quando non sappiamo
- questo è il terzo punto.

Questa è all'incirca la concezione che io vorrei
volentieri rendere popolare. Ma non è che ci
siano troppe speranze."

  Karl R. Popper



Maggiori informazioni sulla lista ubuntu-it