Bad Daemons

Torificar ssh automáticamente

El archivo de configuración del cliente de SSH permite cosas muy chulas. Las más conocidas son las de asociar una clave ssh y un usuario a un host. Por si alguien no lo conoce, en el fichero ~/.ssh/config se pone:

host daemons
     user drymer
     IdentityFile ~/.ssh/drymer-daemons
     host daemons.it

Al ejecutar ssh daemons iniciará sesión en el servidor definido en host con el usuario definido en drymer usando la clave definida en ~/.ssh/drymer-daemons.

Pero podemos ir más allá y dejar de confiar en acordarnos de meter un torify antes de la orden anterior modificando la orden que usa el propio cliente de ssh. Para ello, podemos usar el parámetro ProxyCommand. Se podría usar con proxychains, torify y torsocks, por ejemplo, pero a mi me lo enseñaron con socat. Así que el anterior ejemplo lo cambiaríamos a esto:

host daemons
     user drymer
     IdentityFile ~/.ssh/drymer-daemons
     ProxyCommand socat - SOCKS4A:localhost:daemon4jidu2oig6.onion:22,socksport=9050

Este último ejemplo se lo agradezco a Andreas, que me mostró que también podemos hacer que SSH por defecto torifique todos los hosts con el TLD onion:

Host *.onion
    ProxyCommand socat STDIO SOCKS4A:127.0.0.1:%h:%p,socksport=9050