Tutorials

  • Presto on-line...

About ...

  • ... questo sito
  • ... me


VNC, MacOS X e l’amministrazione remota

OSXvnc, vnc, ssh
VNC sta per Virtual Network Computing. Essenzialmente è un sistema di visualizzazione remota che permette di condividere il desktop di un determinato computer, in qualunque posto su internet e su una grande varietà di architetture. Esistono soluzioni client/server anche su MacOS X, e naturalmente sono gratuite.

About VNC...:

VNC è composto da due parti. VNC-server e VNC-viewer (client).
Molto semplicemente, la parte server cattura la scrivania di un computer come una serie di immagini… queste vengono trasmesse alla parte client ricomponendole in successione.

Ci sono almeno due notissimi concorrenti (commerciali) di VNC:


Entrambi dotati di un’interfaccia forse più amchevole ma sicuramente… a pagamento (e non è detto che funzionino meglio)! Inoltre potremmo scoprire che il VNC ha tutte le caratteristiche per definirsi uno strumento valido anche negli ambiti professionali.
Tra i pregi di VNC possiamo elencare almeno questi:
  • è multi-piattaforma (Mac, PC, Linux, Solaris, DEC Alpha, Windows CE, Palm, MIPS, Java...)
  • è OpenSource distribuito sotto licenza GNU
  • è piccolo e semplice. Sotto MacOS X il server pesa 400K e il client solo 300K.
  • permette accessi condivisi da più client verso un unico server
  • … è gratuito!

OSXvnc - Il server:

Una delle versioni più semplici da utilizzare la troviamo sul famosissimo sito open source della sourceForge: OSXvnc.
Possiamo lanciarlo sulla macchina che vogliamo condividere… anche lasciando tutti i parametri di default!
Basta cliccare sul grosso bottone "Start Server" ed il gioco è fatto… da questo momento (e fino allo stop!) è possibile prendere il controllo di questa macchina.

Chicken of the VNC - Il client:

Anche in questo caso, troviamo un valido client su sourceForge: Chicken of the VNC.
Lanciamolo su una seconda macchina e apriamo una connessione verso la prima, su cui abbiamo lanciato il VNC-server.
Lasciamo nuovamente tutti i parametri di default… e voilà! Dovremmo vedere in una finestra il desktop della nostra macchina remota!

Dopo i primi esperimenti… uno sguardo alla sicurezza:

Per questioni di sicurezza, è meglio evitare di lasciare il VNC-server sempre aperto su tutte le macchine che ci interessa controllare da remoto! Piuttosto impariamo a lanciare il VNC-server in modalità "localhost", da linea di comando, e condiamo il tutto con una connessione sicura tramite ssh!
Supponendo di aver installato OSXvnc nella cartella Applicazioni, possiamo lanciare il server da linea di comando in questo modo:

[host1:~] root% /Applications/OSXvnc.app/OSXvnc-server

Con il parametro -help otteniamo un elenco dei parametri configurabili:
[host1:~] root% /Applications/OSXvnc.app/OSXvnc-server -help

Available options:

-rfbport port          TCP port for RFB protocol
-rfbwait time          max time in ms to wait for RFB client
-rfbauth passwd-file   use authentication on RFB protocol
                       (use 'storepasswd' to create a password file)
-deferupdate time      time in ms to defer updates (default 0)
-desktop name          VNC desktop name (default "MacOS X")
-alwaysshared          always treat new clients as shared
-nevershared           never treat new clients as shared
-dontdisconnect        don't disconnect existing clients when a new non-shared
                       connection comes in (refuse new connection instead)
-nodimming             never allow the display to dim
                       (default: display can dim, input undims)
-maxdepth bits         maximum allowed bit depth for connecting clients.
                       (default: bit depth of display)
-allowsleep            allow machine to sleep
                       (default: sleep is disabled)
-disableScreenSaver    Disable screen saver while users are connected
                       (default: no, allow screen saver to engage)
-swapButtons           swap mouse buttons 2 & 3
                       (default: no)
-disableRemoteEvents   ignore remote keyboard, pointer, and pasteboard event
                       (default: no, process them)
-rfbLocalBuffer        run the screen through a local buffer, thereby
                       enabling the cursor
                       (default: no, it's slow and causes more artifacts)
-localhost             Only allow connections from the same machine
                       If you use SSH and want to stop non-SSH connections
                       from any other hosts 
                       (default: allows remote connections)

Nel nostro caso ci interessa soltanto l’opzione -localhost che offre la sicurezza di accettare solamente connessioni locali (localhost) e non da computer remoti!
Sembra un controsenso! Se non accetta connessioni remote, come facciamo a collegarci da un computer… remoto? !!!

Ci viene doppiamente in aiuto il buon ssh.
Vediamo come:
Sul server (sulla macchina da condividere/monitorare) lanciamo il VNC-server in modalità -localhost utilizzando i privilegi di root:

[server1:~] root% /Applications/OSXvnc.app/OSXvnc-server -localhost
09/07/2003 00:07:57 Started Listener Thread on port 5900
09/07/2003 00:07:57 Registering Screen Update Notification

Sulla macchina client apriamo una sessione terminale e chiediamo ad ssh di aprire un canale sicuro verso il nostro server (server1.myCompany.it) e di rigirare le chiamate dalla porta "5900 del client" alla porta "5900 del server" (cha relativamente al processo ssh che gira sul server1 si chiama proprio: localhost).
In pratica:
[client1:~] user1% ssh -N -L 5900:127.0.0.1:5900 server1.myCompany.it
user1@server1.myCompany.it's password:

A questo punto non ci resta che lanciare il VNC-client "Chicken of the VNC" indicando come indirizzo: localhost e lasciando che ssh faccia il suo lavoro di reindirizzamento…

Per approfondimenti:

Per approfondire l’utilizzo di ssh in modalità "Forward Local Port" vedere l’articolo:

Per il VNC-server:

Per il VNC-client:

Per il sito ufficiale di VNC dei laboratori della AT&T:


Posted on Jul 23, 2003 - 04:50 AM


Ricerca:


Adv:

ApplePro :
Vuoi acquistare un prodotto dalla Apple? Sei un utente Pro (cioè hai la partita IVA)? Se vuoi supportare il nostro sito, passa da qui: apple pro.