Tècnic

fliparàs per un tub!

Sovint, quan et mous amb el portàtil i et connectes a través de wifi, et trobes amb determinats ports tancats. Aleshores, què fas quan la connexió de xarxa no et permet usar determinats ports? o quan vols accedir remotament a una màquina que no té IP pública?… la solució pot passar per usar túnels SSH…

Un túnel SSH et permet aprofitar la connexió entre dues màquines via SSH per a fer-hi passar altres tipus d’informació a través d’ella.

Accés a correu-e

Per exemple, si la connexió que tens en un moment donat només et permet navegar per la web (port 80) i usar ssh (port 22) i vols que et funcioni el teu correu amb imap (ex. port 993) o l’smpt que uses habitualment (ex. port 587)… el que pots fer, és connectar-te per ssh a una màquina a la que tinguis accés i des d’aquesta, “saltar” a la que t’interessi. A continuació deixo un script d’exemple per accedir a GMail (si el teniu configurat, per exemple, des del Thunderbird):

#!/bin/bash

BRIDGE=usuari@maquina.pont.cat
OPTIONS=-fNL 

cp /etc/hosts /tmp/hosts
echo "127.0.0.1   imap.gmail.com smtp.gmail.com # TUNNEL.MAIL.ALL" >> /tmp/hosts
sudo cp /tmp/hosts /etc/hosts

sudo ssh $OPTIONS  993:imap.gmail.com:993  $BRIDGE 
sudo ssh $OPTIONS  587:smtp.gmail.com:587  $BRIDGE

echo "Tunnels prepared (Press RETURN to close them)"
read

sudo pkill -9 -f "ssh -fNL "

cp /etc/hosts /tmp/hosts
grep -v TUNNEL.MAIL.ALL /tmp/hosts > /tmp/hostsCLEAN
sudo cp /tmp/hostsCLEAN /etc/hosts

En el moment que l’executeu, es connectarà a la màquina pont (una màquina a la que tingueu accés via ssh) i farà uns túnnels per a que us funcioni com si tinguéssiu els ports oberts des del vostre portàtil. Al prèmer return es tancaran i tot quedarà com abans.

Connectar-se a una màquina no accessible

Si el problema és que us voleu connectar a una màquina via ssh i no té IP fixa (ni se li poden redirigir els ports), també podeu usa un túnnel. Per exemple, si voleu connectar-vos a la màquina d’un amic per ajudar-lo, però té una connexió ADSL amb IP dinàmica i no pot obrir els ports del router… aleshores, el que podeu fer, és que ell executi l’script següent:

#!/bin/bash

echo “Accessing remote machine and opening a remote port, so”
echo “port 2222 on remote machine connects to”
echo “port 22 in this machine”
echo “Then you can use ‘ssh -p 2222 user@localhost’ in remote machine”
echo
echo “Press Ctrl+C to stop the tunnel”
echo
# ex. ssh -N -R 2222:localhost:22 jcampos@namaste

ssh -N -R 2222:localhost:22 usuari@maquina.que.si.es.pot.accedir.cat

Amb aquest script, ell es connecta a la vostra màquina i obre un túnel a través del qual vosaltres podeu circular en sentit contrari i connectar-vos a la seva 😉 Si en comptes de redireecionar el port 22, redireccioneu el port 5900, podreu accedir-li al seu escriptori de forma gràfica si ell el comparteix amb VNC…

Doncs res més, amb aquest parell d’exemples de túnels es veu la potència que tenen i per a que es poden usar. Jo, des de que els he descobert, que estic flipant per un tub! 😉

Anuncis

1 thought on “fliparàs per un tub!”

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

S'està connectant a %s