Questo articolo aderisce alla campagna (lanciata da me adesso):

Forse cercavi: vnc ubuntu ?

Risposta:NO!

..con la speranza che anche VNC KUBUNTU entri nella cache di Google.
🙂

Una guida completa, passo a passo, utile per abilitare un server VNC utilizzabile da qualsiasi utente. In questo modo e’ possibile loggarsi per iniziare una nuova sessione.
Se disconnettiamo il client VNC non viene terminata la sessione X (a meno di un log-out esplicito) consentendoci di ri-connette la stessa sessione di nuovo. Il server VNC utilizza un display separato (:1) al posto di quello usato dal server X. Cosi’ due o piu’ sessioni possono essere attivate nello stesso istante.

=================
Installazione pacchetti
=================

NB: Utilizzeremo vnc4server al posto di vncserver altrimenti quest’ultimo non funzionera’ correttamente

sudo apt-get install vnc4server xinetd xvncviewer

Per il login remoto utilizzeremo XDMPC e per abilitarlo andiamo a modificare il file di configurazione del nostro login manager (KDM). Apriamo un terminale e digitiamo:

sudo kate /etc/kde3/kdm/kdmrc

Alla fine del file troviamo:

[Xdmcp]
Enable=false
Willing=/etc/kde3/kdm/Xwilling

Modifichiamolo in:

[Xdmcp]
Enable=true
Port=177
Xaccess=/etc/kde3/kdm/Xaccess
Willing=/etc/kde3/kdm/Xwilling

Salviamo il file e sistemiamo anche /etc/kde3/kdm/Xaccess:

sudo kate /etc/kde3/kdm/Xaccess

Cerchiamo le seguenti righe:

#* #any host can get a login window
#* CHOOSER BROADCAST #any indirect host can get a chooser

Abilitiamole rimuovendo il primo “#” come nell’esempio sottostante:

* #any host can get a login window
* CHOOSER BROADCAST #any indirect host can get a chooser

A questo punto abbiamo bisogno di stoppare il processo KDM per fargli interpretare i files di configurazione appena modificati. Il metodo piu’ semplice, senza ricorrere a reboot o logout, e’ il seguente:

ps -ef | grep kdm

Prendiamo in esame:

root 5385 1 0 Sep05 ? 00:00:00 /usr/bin/kdm

Il numero dopo root e’ il nostro PID da uccidere tramite:

sudo kill -HUP 5385

========================
Impostare la password per il VNC
========================

Apriamo un terminale:

sudo vncpasswd /root/.vncpasswd

Inseriamo la nostra password e prepariamoci ad utilizzare il superdemone XINETD

============================
Impostare il demone di servizi Xinetd
============================

Xinetd, replace di inetd, e’ un cosidetto Superdemone o Wrapper..un demone di basso livello che si occupa dell’intercomunicazione dei servizi interni alla LAN.
Tale demone si appoggia anche su due file presenti in /etc

host.allow
host.deny

Questo ci consente una sicurezza maggiore in quanto dovremo aprire una porta del firewall per il funzionamento del VNC, e Xinetd e’ in grado di accettare le connessioni provenienti dal file host.allow e di negare l’accesso a quelle listate in host.deny
Tramite delle semplici regole contenute in /etc/xinetd.d possiamo far utilizzare questo demone con tantissimi altri programmi (qmail, telnet etc..).

Chiusa questa breve parentesi (per maggiori informazioni su XINETD leggere la guida riportata nel link precedente), aggiungiamo la regola per il nostro VNC:

sudo kate /etc/xinetd.d/Xvnc

NB: Quanto andremo ad aggiungere adesso e’ stato da me modificato rispetto alla guida originale, studiata per Kubuntu Dapper 6.06 (ci sono delle differenze):

service Xvnc
{
type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = yes
user = root
server = /usr/bin/Xvnc
server_args = -inetd :1 -query localhost -geometry 1024×768 -depth 16 -once -fp /usr/share/fonts/X11/misc -DisconnectClients=0 -NeverShared passwordFile=/root/.vncpasswd -extension XFIXES
port = 5901
}

Alcuni parametri sono, come ben si vede, modificabili a piacere..ma e’ preferibile mantenere questi almeno fino alla riuscita dell’operazione (poi possiamo sbizzarrirci).
Abbiamo praticamente terminato, ora si tratta di testare quanto abbiamo appreso fino ad ora.
Teniamo bene a mente questi comandi veloci per resettare sia xinetd che il vncserver:

sudo /etc/init.d/xinetd stop
sudo killall Xvnc
sudo /etc/init.d/xinetd start

Anche se riceviamo l’errore:

Xvnc: no process killed

Non fa nulla, il server e’ stato comunque terminato proprio come ci aspettavamo.
Per provare in locale, ovvero sul computer dove abbiamo installato il nostro VNCserver, lanciamo:

vncviewer localhost:1

Se vediamo apparire il nostro KDM come da screen:

Free Image Hosting at www.ImageShack.us

Significa che tutto funziona e siamo pronti ad accettare anche le connessioni remote, semplicemente installando xvncviewer anche sul computer remoto e collegandosi tramite indirizzo interno ES:

vncviewer 192.168.0.6:1

Al prompt della password inseriamo quella impostata in precedenza per il vncserver.
Se ci fossero qua e la dei problemi ad individuare una istanza di Xinetd attiva, il comando piu’ semplice e’:

sudo netstat -tap | grep xinetd

Che restituisce un output simile a questo:

tcp 0 0 *:5901 *:* LISTEN 1194/xinetd

Note su firewall e router

Il VNC utilizza la porta 5901, percio’ va impostata nelle regole di iptable (o firestarter o quasiasi altra GUI) per accettare il traffico in entrata. Se abbiamo un router che assegna degli indirizzi privati (192.168.0.*) dobbiamo creare un nuovo servizio e inserirlo nelle regole del firewall, forwardando la porta 5901, altrimenti il VNC server non sara’ accessibile da remoto.
NB: La password..non scordiamoci la password! altrimenti con un rapido scan by NMAP e’ un gioco da ragazzi individuare il servizio attivo e tentare un login anonimo. Grazie a Xinetd (che qualcuno nemmeno considera, e chi mi sta leggendo se mi sta leggendo e’ meglio che se ne stia proprio zitto) non solo possiamo utilizzare in alternativa i files host.allow e deny, ma la porta 5901 non verra’ mappata da un ipotetico scan perche’ Xinetd non inviera’ alcun pacchetto di risposta.
😉
..tie’..

Note sulla sicurezza

Questo setup permette a qualsiasi utente di avviare una sessione remota X-session utilizzando una password per il login ; questo significa che se l’utente si disconnette senza effettuare un logout, qualsiasi altro utente in possesso di tale password puo’ connettersi subito dopo e ripristinare la stessa sessione avviata dal primo utente. Se non abbiamo intenzione di fare log out prima di disconnetterci, e’ consigliabile perlomeno bloccare lo schermo della sessione VNC. Da notare inoltre che mentre un utente remoto e’ loggato tramite VNC, nessun’altra connessione puo’ essere accettata. Un VNC client in attesa (idle) verra’ disconnesso dopo un ora, ma questo tempo puo’ essere modificato utilizzando l’opzione:

-IdleTimeout

Nella riga server_args in /etc/xinetd.d/Xvnc. ESEMPIO:

-IdleTimeout 300

Imposta a 5 minuti la scadenza della sessione.

Guide, consigli, approfondimenti

Gnome VNC howto
Kde VNC howto
Xdmpc-KDM Howto

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
54.224.164.166

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

, ,

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

14 Comments

  • blood ITALY 10 anni ago

    io amo divilinu 😀
    ieri sono stato a sklerare con “desktop sharing” di kubuntu e non ho nemmeno capito se è un server vnc o una cosa simile..
    bene..oggi provo!!
    grazie mille!!

      Quota

  • @blood
    pure il desktop sharing di kde e’ ottimo..e’ in programma howto anche su quello
    😉

      Quota

  • Quello di KDE è facilissimo! E funziona anche molto bene! Sinceramente non ho questo tipo di esigenze, m’ha l’ho provato così per sfizio! 🙂

      Quota

  • khelidan ITALY 10 anni ago

    Ma è tuo lo screen??Vedo una iso archlinux….. 🙂

      Quota

  • @khelidan
    hehe..ma non vi sfugge nulla..
    sto facendo qualche prova con qemu..
    🙂
    @tutti
    questo sistema e’ davvero comodo..permette piu’ login, una buona sicurezza e facendo logout si chiude la sessione vnc col server che rimane UP.
    L’unica cosa che non ho inserito nella guida e’ che quando si sgancia il client a volte il monitor del server rimane “buio”…lo si resuscita con ctrl+alt+f7 (credo sia il display di default)

      Quota

  • divilinu… tu che sei esperto nel settore… 😉 sai aiutarmi qua: http://forum.ubuntu-it.org/index.php?topic=114042.msg745981#msg745981
    ?

      Quota

  • @dario
    sei nel posto giusto
    🙂
    ho scritto tante cose sugli slideshow..non dovresti avere problemi (fai una piccola ricerca nel blog)

      Quota

  • blood ITALY 10 anni ago

    caro divi,
    ti voglio solo dire che sto scrivendo questo post tramite vnc dal lavoor al mio cputer di casa…
    che dire..
    senza la tua guida mi sa che sarei ancora a sbatterci la testa!
    grazie mille!

      Quota

  • @blood
    grazie del feedback..effettivamente questo metodo fila via liscio senza grossi problemi
    😉

      Quota

  • El.CABaNa ITALY 10 anni ago

    semplice, chiaro e… perfettamente funzionante!

    Grazie mille

    El

    ps:per la mail togli le mutande 😉

      Quota

  • @El.CABaNa
    ciao..quali mutande?
    😀

      Quota

  • El.CABaNa ITALY 10 anni ago

    se leggi il mio indirizzo ci sono le “mutande” all’interno (es. pippomutande@cippa.com)
    se togli le “mutande” trovi l’indirizzo corretto 😉

      Quota

  • I know this if off topic but I’m looking into starting my own weblog and was curious what all is required to get set up? I’m assuming having a blog like yours would
    cost a pretty penny? I’m not very internet smart so I’m not 100% sure.
    Any recommendations or advice would be greatly appreciated.

    Many thanks

      Quota