Mi conexión a Internet no tiene IP fija, y eso supone a veces un problema. Hay veces que por motivos de seguridad el acceso a un servidor está restringido a ciertas direcciones IP y si no tengo IP fija no me la pueden autorizar.
En estos casos lo que hago es dar la dirección IP de algún servidor que tengo contratado (servidor intermedio) y que no tiene restricción de IPs; entro por SSH a mi servidor y desde ahí hago SSH al servidor final. Esto funciona bien, pero es un poco engorroso, así que es mejor utilizar un túnel SSH. Lo que hace el túnel es conectar un puerto de mi ordenador con el puerto 22 del servidor final a través del servidor intermedio. El comando para hacer esto es:
sudo ssh -Nf -L localhost:32:SERVIDOR_FINAL:22 USUARIO_INTERMEDIO@SERVIDOR_INTERMEDIO
Una vez hecho esto, conectando al puerto 32 de mi localhost estaré accediendo al puerto 22 del servidor final. Si, por ejemplo, quisiera subir un fichero a ese servidor, podría hacerlo con el comando scp:
scp -P 32 /home/koas/fichero.jpg USUARIO_FINAL@localhost:/home/www/fichero.jpg