In short, if you have ssh connection, you may setup localforward and then your ssh server is working like a proxy to access the other network.
As we have proxy server to access company intranet, I can then setup my local proxy script to use the proxy if I need to access intranet, and no proxy to access other internet.
For example, my .ssh/config file.
Host svi0 HostName svi_server_name User your_user_id LocalForward 2001 internal_host_1:22 LocalForward 2002 internal_host_2:22 Host svi1 HostName localhost Port 2001 User your_user_id LocalForward 3128 proxy_server:3128 Host svi2 HostName localhost Port 2001 User your_user_id Host svi2 HostName localhost Port 2002 User your_user_id
Then you can just do "ssh -f svi0 -N".
The tunnel is established.
Then "ssh svi1", you may login to internal_host_1 using your own password, instead of the one-time password.
The proxy script: myproxy.pac. You need to set your proxy manually in the browser.
function FindProxyForURL(url, host) { if (isPlainHostName(host) || dnsDomainIs(host, "intranet_domain1") || dnsDomainIs(host, "intranet_domain2") || isInNet(host, "intranet_ip_addr", "255.255.255.255")) { return "PROXY localhost:3128"; } else return "DIRECT"; }
In this case, I have a very similar Linux working environment at home as I have in company.