Proxy servers modify, allow or disallow traffic that moves from one network to another through it. Many workplaces disalllow port 22 (sshd) connections from inside the network to outside, which makes working with eApps VPS hosts on the command line impossible. Here is a way to work around the problem.

This example assumes you are inside the network on a local machine using a unix-based computer (Linux in this case), and the network proxy disallows traffic destined for port 22.
  1. Install corkscrew on your local machine. This allows you to connect to the proxy and have it forward your connection on to another machine.
  2. Setup ~/.ssh/config on your local machine as per the corkscrew documentation. At the bare minimum, you will need to specify the remote hostname, port (22), proxy hostname and port, and possibly authentication information (using the ProxyCommand option of ssh).
  3. Setup sshd on your VPS. It should already be good to go if you haven't turned it off.

Once this is setup, you should be able ssh to your host from your local machine. However, if the proxy doesn't let connections go out to port 22, then you will need to setup sshd on your remote host to listen on a port that the proxy allows.
  1. On your VPS, edit /etc/ssh/sshd_config and add port 22 and another, unused port that you know is allowed outside the network. This will depend on your VPS setup; if you are hosting web pages then you can't use 80 as it is used by your webserver, but may be able to use 443. Check your setup and see what ports are available that could be used as allowed traffic. If you use 443 make sure your webserver doesn't.
  2. Fix up ~/.ssh/config on your local machine to connect to the right port.

Please note:
  • This method sets up two ssh ports on your VPS. You may not want to do this for security reasons. Note that explicitly disabling port 22 just hides the fact you are running sshd on your host; a scan on other ports will find it anyway.
  • If you need to setup ssh to listen on a port other than 22, be careful when selecting. Check the official list to make sure you aren't trying to setup a port that belongs to another protocol.
  • If you aren't running your own network keep in mind the people that do may read the logs if they see anything odd. Try to use well-known, allowable port numbers rather than random or unofficial ones.