

thus firewall doesn't interfere nor -g is necessary this can be done by ssh -L $some_port:localhost:$port_number $your_IP invoked at their side or ssh -R $some_port:localhost:$port_number $their_IP invoked at your side clients will use localhost:$some_port as SOCKS server address in their browsers. via their own separate ssh connection so their connections appear local (as if A= B) to your already running ssh -D.

B is the machine where ssh -D $port_number C runs and where the TCP $port_number listens for incoming connections from any A.A represents a single client that uses B:$port_number as SOCKS address there may be many clients.But with proxy this is as follows: A -> B -> C -> D In general the situation without SOCKS proxy provided by ssh is like this: A -> D Note you may not be allowed to open some ports as regular user, especially lower than 1024, use higher number then. This will open the $port_number TCP port on your local computer and establish a SOCKS server on it.
#CREATE SSH PROXY PASSWORD#
You need to provide credentials (like $username and password when asked) valid to the $hostname machine. The first command will use your current (local) username unless your ssh_config file tells otherwise (by default it doesn't). Or ssh -D $port_number $hostname identifies some machine it can be IP address, address resolvable via DNS or via /etc/hosts file or via ssh_config file etc. Usage of ssh -D is indeed like this: ssh -D $port_number $hostname This syntax is not meant to be fully compatible with variables in any shell. Note: I use $ prefix for strings you have to substitute with your desired values.
