Il tunneling ssh permette di attivare delle connessioni dirette tra la macchina di partenza (locale
) e una qualsiasi macchina (pc1
, pc2
, ecc.) visibile dalla machina destinazione (remote
), oppure tra la macchina destinazione e una qualsiasi macchina visibile dalla macchina di partenza. Schema della rete:
locale -> remote --- pc1 +------- pc2
Se ad esempio vogliamo accedere da locale
ad un web server attivo su pc1
dobbiamo effettuare una connessione ssh tra locale
e remote
indicando contemporaneamente l’apertura del tunnel tra una porta locale qualunque (es, 20080
) e la porta 80
di pc1
:
ssh -L 20080:pc1:80 user@remote
Fatto questo, un browser in esecuzione su locale
può accedere al web server su pc1
usando l’URL http://localhost:20080/
.
Ulteriori tunnel si possono attivare anche su una connessione ssh già attiva. In quest0 caso l’esempio precedente diventa:
ssh user@remote ~C
A questo punto compare il prompt ssh>
. Digitare:
-L 20080:pc1:80
Si possono anche attivare connessioni al contrario. Se ad esempio vogliamo che da pc2
si possa fare ssh su locale
, basta attivare un nuovo tunnel così:
-R 10022:localhost:22
Fatto questo, l’utente su pc2
può collegarsi a locale
così:
ssh -p 10022 user@remote
Pingback: malex.org notes » mini guida ssh: tunneling e vnc
utile, complimenti
Uhm, per non essere proprio nullasapienti su ssh. Uno startpoint. Tousend tak. Giovanna