Normalmente utilizamos ssh para acceder remotamente a algún servidor y trabajar en el. ssh puede ser utilizado para alguna otras cosas, como por ejemplo crear tunnels para encriptar una conexión a un servicio en particular, burlar un firewall local y acceder a las paginas que tenemos bloqueadas o simplemente proteger nuestros datos en una WLAN publica.

Crear un tunnel ssh

En un post anterior explique como montar transmission-daemon para administrar torrents remotamente, de tal forma que podamos acceder a nuestro servidor con transmission desde cualquier lado a través de el navegador. Lo que configuraremos ahora sera un tunnel ssh para acceder al servicio transmission sin comprometer los datos, como por ejemplo el login y el password para ingresar a transmission.

Lo que tenemos:

*SERVIDORX con transmission escuchando en el puerto 9091 (otro ejemplo puede ser vnc escuchando en el puerto 5900)
*SERVIDORX con sshd escuchando en el puerto 22 (ABA bloquea los puertos bien conocidos, es decir, del 1024 hacia abajo, si tienes el firewall de CANTV habilitado, deberás decirle a sshd que escuche en un puerto mas alto o llamar para que deshabiliten el firewall).
*CLIENTEX ssh.
*CLIENTEX con navegador web.

En CLIENTEX ejecutamos lo siguiente:

$ ssh -L 60000:localhost:9091 usuario@SERVIDORX

De esta manera creamos un tunnel desde el puerto local 60000 al puerto 9091. Normalmente los puertos muy altos (llegan hasta 65535) no se están usando.

Si el servidor ssh está escuchando en un puerto distinto al 22 (por defecto) podemos crear el tunnel así:

$ ssh -L 60000:localhost:9091 -p -puerto- usuario@SERVIDORX

Sustituyendo -puerto- por el puerto donde escucha ssh

Luego de creado el tunnel abrimos nuestro navegador y nos vamos a la dirección http://localhost:60000 y veremos que accedemos al servicio transmission de SERVIDORX a través del tunnel ssh.

En caso de que el servicio no sea transmission, si no, por ejemplo, VNC, el tunnel se crearía así:

$ ssh -L 60000:localhost:5900 usuario@SERVIDORX

luego al cliente vnc le decimos que el servidor es localhost escuchando en el pto 60000

ssh como proxy socks

Esto es bastante útil si estamos detrás de un proxy http que nos bloquea algunas paginas, por ejemplo youtube, facebook, etc..o simplemente si estamos en una red inalambrica publica, en un centro comercial o panadería y no queremos transmitir información desprotegida que pueda ser capturada por alguna persona maliciosa dentro de la red.

Que tenemos:

*SERVIDORX ubicado en cualquier sitio de confianza, como tu casa, con ssh escuchando en el puerto 22.
*CLIENTEX ssh.
*CLIENTEX con navegador web (en este ejemplo utilizaremos firefox)

en CLIENTEX ejecutamos lo siguiente:

$ ssh -D 60000 usuario@SERVIDORX

De esta manera creamos una conexión por socks a nuestro servidor ssh

Luego abrimos firefox y nos vamos a Editar –> Preferencias –> Avanzado –> Red –> Configuración.
Seleccionamos “Configuracion manual del proxy”
y colocamos en la casilla Servidor socks –> Localhost y su respectivo puerto –> 60000

Ahora ya estamos navegando a través de nuestro servidor ssh.

Leer más

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *