How to add socks proxy to ssh config file?
I know how to forward SOCKS proxy on the command like below
ssh -D port_number user@host
This works well but I want to be able to put that forwarding into my SSH config
file. But I am not able to locate any useful information or tutorial about.
I have bunch of normal SSH profiles in the config so I prefer to have the forwardings attached to the SSH profiles.
Solution 1:
Use the config setting "DynamicForward" Here is a quick example of what it should look like:
Host example.com
User username
Port 22
IdentityFile ~/.ssh/id_rsa
DynamicForward 8080
If the DynamicForward option is only given a port numer it will bind to localhost:port. You can add a specific IP to get it to bind to an address other than the localhost. Using "*:8080" will bind the proxy to all IP addresses on the box. To use an IPv6 address enclose the address in square brackets:
[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:8080
Solution 2:
I do not recommend use socat because it only support socks4 But you can use ncat
- install ncat
- add this in your ssh config file
ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p
You may need to check ncat options if it does not work.