SSH via HTTP Proxy
Company network like Oracle requires HTTP Proxy to access the Internet, the ssh command won't work unless you do some tricks.connect-proxy
connect-proxy
Establish TCP connection using SOCKS4/5 or HTTP tunnel. connect-proxy is a simple relaying command to make tunnel TCP connection via SOCKS or HTTPS proxies.
It is mainly intended to be used as proxy command of OpenSSH.
connect-proxy command Usage
USAGE To use proxy, this example is for SOCKS5 connection to connect to "host" at port 25 via SOCKS5 server on "firewall" host. connect-proxy -S firewall host 25 SOCKS5_SERVER=firewall; export SOCKS5_SERVER; connect-proxy -s host 25 For a HTTP-PROXY connection: connect-proxy -H proxy-server:8080 host 25 HTTP_PROXY=proxy-server:8080; export HTTP_PROXY; connect-proxy -h host 25 To forward a local port, for example to use ssh: connect-proxy -p 5550 -H proxy-server:8080 host 22 ssh -l user To use it along ssh transparently: # file://~/.ssh/config # not using proxy on lan Host 192.* ProxyCommand connect-proxy %h %p # mandatory to access the internet Host * ProxyCommand connect-proxy -H proxyserver:8080 %h %p Or for all users ( /etc/ssh/ssh_config )
Install connect-proxy (Debian and Ubuntu)
sudo apt-get install connect-proxy
Edit ~/.ssh/config file
The example works like a White list (for tux.im only).
## Outside of the firewall, with HTTPS proxy ## Package connect-proxy is required. # VPS Host tux.im ProxyCommand connect -H www-proxy.au.oracle.com:80 %h %p ServerAliveInterval 20 # Amazon EC2 Host *.compute.amazonaws.com ProxyCommand connect -H www-proxy.au.oracle.com:80 %h %p ServerAliveInterval 30 # cloud.terry.im Host cloud.terry.im ProxyCommand connect -H www-proxy.au.oracle.com:80 %h %p ServerAliveInterval 30 ## Inside the firewall (do not use proxy) Host * ProxyCommand connect %h %p
NOTE: other tools that can do the same corkscrew, socat.