I have a working socks proxy from my laptop (machine A) to machine B:
[A]$ ssh -ND 8888 B
I can set up firefox to use socks proxy on the local port 8888, and browsing works. So far so good.
But I also have a socks proxy between machines B and C:
[B]$ ssh -ND 8157 C
So I can browse on B as if I were on C.
Is there a way to chain the two proxies so that I'm able to use firefox locally (on A) while using the connection to C? That is, somehow forward all firefox's socks requests all the way from A to C. A and C cannot see each other directly, but I have full root ssh access everywhere. All machines are Debian.
Note that I don't want to forward a single port (like 80), I want a full chained socks proxy.
on machine B set up the dynamic proxy to machine C
ssh -ND 8888 user@C
then on machine A
ssh -L 8888:localhost:8888 user@B
This makes the SOCKS connection on Machine B and makes machine B's port 8888 connect-able from localhost port 8888 on machine A.
This may need 3 ssh connections open if you can not directly connect to machine B. If you can connect to machine B you only need 2 and can actually chain the commands if needed.