SSH port forwarding


Non sapevo che titolo dare all’articolo perché non voglio parlare di “tutto” il port forwarding offerto da ssh, ma di una situazione ben specifica:

dal nostro computer vogliamo accedere ad un particolare servizio (vnc, rdp, smtp, ecc) di un host in una lan, che però non possiamo raggiungere direttamente perché non abbiamo la porta “nattata” sul router.

L’unica cosa che abbiamo a disposizione è un host (molto probabilmente un Linux)  con ssh e la relativa porta “nattata“.

Sporchiamoci le mani, scaricate Putty:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Installatelo ed avviatelo.

Ora inserite l’ip del server remoto sul quale è disponibile ssh.

Connection->SSH->Tunnels

La destinazione sarà composta dall’indirizzo ip privato dell’host che volete raggiungere più la relativa porta.

Mentre la porta sarà quella utilizzata in locale, io ho scelto 4444, ma voi potete fare come preferite. Vi consiglio di usare porte “alte”, cioé maggiori della 1024.

Infine cliccate il bottone “Add”.

Cliccate infine sul bottone “Open” e fate il login.

Facciamo un esempio pratico per capire cosa è successo, ipotizziamo che abbiate impostate i seguenti valori e il vostro obiettivo sia contenervi ad una sessione vnc.

ipdelserver: 208.67.220.220
source port: 4444
destination: 192.168.1.10:5900

Non vi rimane che aprire il vostro client vnc e come indirizzo specificare:

localhost:4444

e magicamente sarete indirizzati all’host che prima sarebbe stato impossibile raggiungere! Potete usare anche questa procedura per rendere più sicure le vostre “transazioni”!

Se come me siete amanti della linea di comando, l’equivalente è:

ssh -L portalocale:iphostremoto:portahost utente@ipdelserverssh

Esempio pratico precedente:

ssh -L 4444:192.168.1.10:5900 simone@208.67.220.220

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s