E’ possibile collegarsi a una macchina remota dietro a un router e controllarla nei suoi vari servizi se abbiamo a disposizione un accesso SSH (“Login remoto” su MacOsX, nelle preferenze di condivisione).

Questo puo’ essere utile nei casi nei quali disponiamo soltanto della porta 22 aperta nel router verso quella particolare macchina.
A volte per motivi di sicurezza e’ meglio non aprire indisciminatamente verso internet le porte e i servizi, il protocollo SSH offre una sicurezza piu’ che sufficiente e permette di collegarsi via terminale in modo del tutto sicuro, per questo molte volte si preferisce lasciare attivo solo questo servizio su internet.

La cosa interessante e’ che tramite questo protocollo e’ possibile redirigere a piacere le porte degli altri servizi attivi sulla macchina remota, verso il proprio PC o Mac in modo da accedere anche a tutti gli altri servizi eventualmente disponibili: AFP, SMB, FTP, HTTP ecc.

Il comando da utilizzare al terminale e’ il seguente

sudo ssh -L portalocale:127.0.0.1:portaremota utente@server_remoto

Il comando va modificato a seconda dei dati a nostra disposizione e di quello che vogliamo fare e/o condividere.
Una piccola spiegazione:

  • portalocale = dove redirigeremo il servizio remoto. Mettiamo il caso infatti che vogliamo accedere all’AFP della macchina remota, pero’ abbiamo attivo l’AFP anche sulla nostra macchina in locale, in questo caso e’ ovvio che devo collocare l’AFP su una porta locale che NON PUO’ essere la stessa (548), ma un’altra qualsiasi es, la 8000 (le porte alte di solito sono libere, per queste cose utilizzate le porte da 8000 in su).
  • 127.0.0.1 = Indirizzo locale o di loopback, normalmente corrisponde a “localhost”.
  • portaremota = il servizio remoto da raggiungere (es. nel caso della condivisione documenti Mac o AFP, la porta e’ la 548)
  • utente@server remoto = e’ il comando SSH per collegarsi alla macchina remota, quindi si parla di un utente amministratore di QUELLA macchina e del suo indirizzo IP pubblico o nome internet (FQDN).

Esempio concreto:

sudo ssh -L 8000:127.0.0.1:548 posa@posa.dominio.com

Una volta eseguito questo comando ci verranno chieste DUE password: la prima e’ la password di amministratore del NOSTRO account locale, poi la macchina remota ci chiedera’ la password dell’utente remoto (la particella che mettiamo PRIMA della chiocciola) dopodiche’ ci si potra’ collegare alla condivisione Mac della macchina remota, tramite il Finder utilizzando il nostro indirizzo locale (loopback) 127.0.0.1 + il numero di porta come si vede nell’immagine.
Il tunnel smettera’ di essere attivo quando chiuderemo la finestra terminale.

Non esiste limite per sperimentare, per esempio possiamo utilizzare questa tecnica di tunnelling per collegarci a una macchina che dispone di un server VNC free che notoriamente NON cripta la connessione, mentre il tunnel che abbiamo stabilito con questo comando e’ cifrato e sicuro.
Idem per la connessione AFP riportata nell’esempio.