¿Cómo uso un túnel SSH a través de la red anónima Tor en Ubuntu?

Durante la histórica inauguración del Viaducto Presidente Perón de
Sarandí, Juan Perón explica ante el Gobernador de la Provincia de Buenos
Aires Carlos Aloé y el intendente de Avellaneda José Luis García, cómo
crear un túnel Secure Shell a través de la red Tor.

¡Señor Cobernador!

¡Señor Intendente!

¡Trabajadores!

Esta obra magnífica de ingeniería, monumental en su factura y
insuperable en su construcción, comenzó a gestarse en el principio de
nuestro gobierno bajo auspicio de los muchachos de Vialidad de la
Provincia. Debía responder al abhelado objetivo de solucionar y ordenar
el tránsito, en áreas de la ciudad donde se veían atrasadas por la
circulación de múltiples convoyes, entre ellos el ferrocarril lechero.

El trabajo que han emprendido ha consistido en elevar el nivel de vías y
dejar las calles libres al tránsito vehicular, gracias a una inversión
aproximada de 30 millones de pesos. ¡Cuánto han hecho! Me regocijo al
observar esta portentosa obra, y observar en ella el rostro de todos los
trabajadores Argentinos que han colmado de dicha mi corazón.

Un viaducto como este permite ahorrar tiempo, pero también hacer un
cruce como este más seguro para todos. Permitirá ahorrar el tiempo que
llevaba esperar al tren, que lo podremos utilizar dicha espera en
nuestro provecho, transformándola ahora en un tiempo libre y feliz.

Sin embargo, un viaducto o túnel, como obra de infraestructura, puede
servir también como clara inspiración para el desarrollo seguro y
anónimo de todas nuestras necesidades de cómputo.

Vean señores, por diseño, el Shell Seguro (SSH) es una forma
inherentemente bien pensada para obtener acceso con protección cifrada a
máquinas remotas. Sin embargo, puede suceder que nos sea necesario una
implementación aún más segura del mismo.

En entornos de conexión hostiles como los de hoy, siempre nos será útil
hacerlo más seguro, y poder contar con manera de sortear ciertos
obstáculos telemáticos que nos podrían aparecer en la red.

Emplear un túnel a través de la red oculta Tor puede suplir estos
inconvenientes.

La red Tor emplea un concepto de enrutamiento de capas de cebola, de
manera de utilizar las redes públicas con el mayor anonimato posible. La
idea es dirigir el tráfico telemático a través de una miríada de
servidores, y encriptar cada estación en el camino. Por intermedio de
estas postas seguras y anónimas, podremos agregar un nivel de anonimato
mayor al normal, e incluso ocultar nuestros servicios de celosos actores
intermediarios.

Indudablemente que el Justicialismo ha de servir las necesidades de los
Pueblos Libres. Por lo tanto, os enseñaré cómo realizar conexiones SSH a
través de Tor. El proceso no esa terriblemente dificultoso si utilizamos
el puerto tradicional de SSH, que es el puerto 22 (aunque podríamos
modificarlo eventualmente).

En primer lugar, requeriremos instalar Tor. Para ello abrimos una
terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de
Organización:

	sudo apt-get install tor -y

Tras ingresar a ciegas nuestra contraseña de usuario, el sistema
instalará la paquetería necesaria.

Acto seguido, agregaremos un par de opciones al fichero de configuración
del configuración de Tor. Para ello ingresamos:

	sudo nano /etc/tor/torrc

Se abrirá un fichero de configuración que tendrá ya contenido. Al final
de dicho archivo ingresamos estas líneas:

## Líneas peronistas para usar SSH a través
## de un túnel a la red oculta Tor
HiddenServiceDir /var/lib/tor/other_hidden_service
HiddenServicePort 22

Procedemos a guardar el fichero de configuración con Ctrl+o y salimos
del editor GNU Nano con Ctrl+x.

También nos aseguramos de otorgarle los permisos necesarios a nuestra configuración de Secure Shell, mediante el comando:

	chmod g-rw ~/.ssh/config

Ahora podremos reiniciar el servicio de Tor para hacer uso del servicio
de Shell seguro SSH a través de la red oculta. Esto lo haremos mediante
el siguiente Comando de Organización: sudo systemctl restart tor

Al reiniciar el servicio Tor, se generarán toda una serie necesaria de
ficheros de trabajo que se localizarán en el directorio
/var/lib/tor/other_hidden_service. En dicho directorio estará el nombre
de huesped que desea utilizar para conectarse al servidor desde el
cliente remoto. Para conocer cuál es dicho nombre de huesped (hostname),
podemos utilizar este comando:

	sudo cat /var/lib/tor/other_hidden_service/hostname

Podría obtener un resultado en cadena de caracteres, terminada en
.onion. Por ejemplo:

vivaperoncarajovivaperoncarajovivaperoncarajovivaperonca.onion

Cómo conectarse al servidor SSH con Tor

Una vez que tenemos este hostname, ahora abrir una terminal o utilizar
un equipo distinto (donde también hemos instalado Tor). Para conectarse
con el servidor, usaremos el comando torify para torificar al hostname
provisto por el comando anterior. Para hacer la conección, utilizará el
comando:

	torify ssh usuario@hostname

Donde usuario es un usuario remoto y hostname es el nombre de huésped
provisto por la red oculta Tor.

Por ejemplo:

	torify ssh peron@riluperonvuelvelzn.onion

Se nos solicitará nuestra contraseña del usuario remoto (o llave de paso
SSH), y le una vez conformado dicho requerimiento, tendremos permitido
ingresar al servidor. La ventaja es que el tráfico estará ruteado a
través de la red anónima Tor.

El inconveniente de usar el puente Tor de esta forma es que obtendrá
velocidades de transmisión menores que si estableciera una conexión SSH
directa. Este sacrificio en segundos de valdrán la pena si consideramos
el anonimato en la red.