La seguente guida spiega come creare, utilizzando solamente software open source, un tunnel ssh sotto windows. La scelta di utilizzare windows nel mio caso dipende solamente da esigenze aziendali (o meglio del mio cliente), ma la guida è facilmente adattabile anche ad ambienti unix/linux.
Quale è l’utilità di tutto ciò? Sicurezza. Come riportato nelle faq, TightVnc cripta le password utilizzate per le connessioni vnc (DES con chiave a 56bit) però non cripta tutto il restante traffico. Per evitare quindi varie tipologie di attacchi, in attesa di una futura release di TightVnc che supporti la crittazione del traffico nativamente è possibile utilizzare un tunnelling sicuro tramite OpenSSH (implementazione open source del protocollo ssh).
Per prima cosa passiamo a scaricare il software necessario:
A questo punto se l’host che vogliamo raggiungere sta in una lan dobbiamo anche configurare il Nat per il nostro router ed eventuali firewall. Le porte che ci interessano sono la 22 per ssh e le porte 5800 / 5900 per TightVnc. Questo nel caso vengano mantenuti i settaggi di default.
Nel caso non sappiate come configurare il Nat/Pat sul vostro router vi consiglio di consultare il seguente sito, oltre ovviamente il manuale tecnico del router
La prima cosa da fare sull’host che volete controllare è installare il server openssh che avete precedentemente scaricato. Avviate l’eseguibile e rispondete alle domande…poche…che vi verranno poste. Ad un certo punto l’installer avvisa che prima di avviare openssh sarà necessario configurare i file per i gruppi e password. Premete Ok ed il gioco è fatto.
Ora per la suddetta configurazione basta che seguiate le istruzioni riportate nel file quickstart.txt.
Molto in breve basta che apriate il prompt dei comandi e vi portiate nella directory C:\Programmi\OpenSSH\bin poi dovete digitare i seguenti comandi:
mkgroup -l >> ..\etc\group
mkpasswd -l >> ..\etc\passwd
Vi consiglio comunque di leggere il file quickstart.txt per maggiori informazioni in merito.
Ora per avviare il demone di openssh basta che digitiate sempre dal prompt di dos:
net start opensshd

Oppure potete andare in Pannelo di Controllo -> Strumenti di Amministrazione -> Servizi e cercare OpenSSH Server
Ora non vi resta che installare e configurare il server di TightVnc sull’host da controllare. Una volta installato dovete impostare la password e consentire le connessioni di loopback. Per fare ciò Programmi -> TightVNC -> Launch Vnc Server e poi cliccate su properties nell’icona di TightVnc presente nella system tray

Da qui per prima cosa dovete impostare la password e poi premendo sul pulsante Advanced in basso a destra dovete andare a spuntare Allow loopback connections.

A questo punto possiamo spostarci sul computer client. Anche qui andrà installato TigthtVnc. Una volta fatto passiamo alla configurazione del client ssh che effettuerà la connessione al server ssh e il tunnelling. Vi sono svariati client ssh disponibili su internet, in questa guida andrà ad utilizzare Putty. Nella prima schermata una volta avviato Putty dovete andare a settare l’indirizzo IP dell’host remoto. La porta di default per le connessioni ssh è la 22.

Ora nella sezione SSH dovete andare nella sottosezione Tunnels:

Qui, come illustrato nella figura precedente, dovete impostare 5900 in Source Port e 127.0.0.1:5900 in Destination e infine premere il pulsante Add.
Ora tornate nella session e ricordatevi di salvare le configurazioni effettuate. Siamo quasi pronti…
Ora per effettuare la fatidica connessione all’host remoto (dove ovviamente devono essere avviati sia il demone di openssh che il server di TightVnc) dobbiamo per prima cosa lanciare Putty selezionando la connessione appena creata e loggarci sull’host remoto con user e password. In tale modo abbiamo creato la connessione ssh con il computer remoto.

A questo punto possiamo lanciare il client di TightVnc ( Programmi -> TightVnc -> TightVnc Viewer ) inserendo come IP del server 127.0.0.1 e successivamente la password precedentemente impostata.