Ssh – Tunneling SSH through multiple machines (for SOCKS)

sockssshssh-tunneling

I have seen questions on tunnelling SSH through multiple machines but I want to tunnel a SOCKS connection.

Normally I would use something like ssh -C2qTnN -D 8080 username@remote_machine to make the local port 8080 a SOCKS tunnel through the remote machine. I would like to open a socks connect from my laptop on machine2, that can only be reached via SSH from machine1.

So rather than tunnelling SSH connections in the normal sense, I suppose I wish to run that command on machine1 so the local port 8080 is redirected to machine2 and somehow pipe 8080 on machine1 back to a local port on laptop.

Best Answer

So, if I understand correctly, you can ssh from machine 1 to machine 2 but not from your laptop (from which you can ssh to machine 1). So you'd like to have a socks server on machine 1 and use it from your laptop? So looks like all you need is port forward that 8080: run on your laptop:

ssh -nL 8080:localhost:8080 machine1 ssh -C2qnN -D 8080 username@machine2
Related Question