Usos no habituales de ssh

Para la mayoría de los administradores de sistemas, ssh es la herramienta más usada con diferencia. Su función principal: establecer un acceso seguro a un ordenador o servidor a través de la red.

Sin embargo, la página man de ssh lista una gran cantidad de opciones que no son demasiado conocidas. Veamos un par de casos en los que, si tenemos un ordenador con ssh accesible desde Internet, estamos salvados:

CASO 1: Hace pocos días, comentaba con un antiguo alumno el problema que tenía para acceder a un servidor que estaba conectado a Internet a través de una tarjeta 3G: La mayoría de las compañías telefónicas dan acceso a Internet a través de NAT si estás usando 3G, con lo que tu ordenador o móvil no tiene nunca una dirección IP pública a la que se pueda acceder. Si queremos entrar en ese ordenador con nuestra contraseña ssh viene en nuestra ayuda mediante la posibilidad de hacer un túnel inverso: ssh conecta a un servidor al que sí tengamos acceso generando un túnel encriptado, y una vez conectado, podemos entrar en el primer ordenador a través del túnel que la primera conexión creó.

red2

En el ordenador con la conexión 3G ejecutamos:

ssh -nNT -R 2200:localhost:22 usuario@servidor

Entramos en el servidor y ejecutamos:

ssh 127.0.0.1 -p 2200

Nos pedirá la contraseña del usuario correspondiente en el ordenador con la conexión 3G y voilá ¡estamos dentro!

CASO 2: A veces es necesario saltarse las limitaciones que en algunas redes o intranets existen. Algunas de ellas tan absurdas como no poder hacer ssh a un servidor en Internet. De nuevo ssh viene a nuestro auxilio.

En el servidor, editamos el archivo /etc/ssh/sshd_config y añadimos una línea con el contenido:

Port 443

Con eso nuestro servidor escuchará conexiones ssh también en el puerto 443. Ese es el puerto usado para las conexiones https, por lo que si en nuestra red tenemos acceso a páginas seguras, ya podemos acceder a un servidor via ssh.

Ahora, desde la máquina en la red limitada tan sólo tenemos que hacer

ssh -p 443 usuario@servidor

y ya estaremos en un ordenador con acceso a Internet via ssh.

En otra ocasión comentaré las posibilidades del archivo config en nuestro directorio .ssh, que permite hacer muchas de estas cosas automágicamente.