Tunneling por SSH

Una cosa molesta de estar en lugares públicos es que suelen tener la mayoría de puertos que se utilizan para descargas p2p bloqueados. Una solución rápida y sencilla es hacer un túnel con SSH a algún servidor que tengamos disponible y configurar nuestros clientes a que utilicen esos puertos.

Lo que hago yo siempre es iniciar una sesión de screen y luego hacer esto:

ssh -2 -4 -L 7663:localhost:7663 -A -D 1080 usuario@example.com

Es lo que uso comúnmente y que normalmente no se me desconecta, pero en ciertas ocasiones tengo que modificar los settings un poco, como por ejemplo, cambiar -L por -R, conexión remota por conexión local. Para mi fue importante dejar -4 y -2 (versión de IP y SSH) porque de otra forma se desconecta aleatoriamente.

El 7663 (usa el que gustes) es el puerto con el que debes de configurar tus clientes como Azureus para conectarse localmente, el 1080 es el puerto en el que el servidor externo va a hacer forwarding.

Prerrequisitos de esta técnica en /etc/ssh/sshd_config de tu server, la segunda es solo si estas teniendo problemas:

GatewayPorts yes
AllowTcpForwarding yes

Debes de dejar abierta la sesión de SSH siempre que quieras que este abierto el túnel, como usamos screen no hay problema, cierras la consola y esta sigue ejecutandose.

Si tienes dudas leer el manual de SSH nunca esta de mas.