Github (SSH) via public WIFI, port 22 blocked

I'm currently on a public WIFI spot and I'm unable to use SSH (they probably blocked that port). However, I need that connection to do a git push.

➜ ssh -T [email protected]
ssh: connect to host github.com port 22: Connection refused

Is it possible to bypass this restriction by setting up a SSH tunnel via port 80 and tell github push to use that connection? How to do that? I'm on OSX (lion). This must be a common problem?


Solution 1:

Try this:

$ vim ~/.ssh/config

Add

Host github.com
  Hostname ssh.github.com
  Port 443

Source: https://help.github.com/articles/using-ssh-over-the-https-port

Solution 2:

The same works for Bitbucket:

Host bitbucket.org
  Hostname  altssh.bitbucket.org
  Port  443

via (outdated / dead)

via, updated (2015-10-29)

Solution 3:

In addition to configuring it with the ~/.ssh/config file, you can also simply include the port number in the remote URL you use. You just have to

  1. use a proper URL like ssh://user@host:port/path instead of the user@host:path shorthand; and

  2. prepend the ssh. subdomain to github.com.

For instance, instead of

[email protected]:cdbennett/python-gitlab.git

use

ssh://[email protected]:443/cdbennett/python-gitlab.git

Solution 4:

For gitlab, following can be added:

Host gitlab.com
  Hostname altssh.gitlab.com
  User git
  Port 443

Source: Alternate Gitlab SSH Port