问题
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 git@github.com
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?
回答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
回答2:
The same works for Bitbucket:
Host bitbucket.org
Hostname altssh.bitbucket.org
Port 443
via (outdated / dead)
via, updated (2015-10-29)
回答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
use a proper URL like
ssh://user@host:port/path
instead of theuser@host:path
shorthand; andprepend the
ssh.
subdomain togithub.com
.
For instance, instead of
git@github.com:cdbennett/python-gitlab.git
use
ssh://git@ssh.github.com:443/cdbennett/python-gitlab.git
回答4:
For gitlab, following can be added:
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
Source: Alternate Gitlab SSH Port
来源:https://stackoverflow.com/questions/7953806/github-ssh-via-public-wifi-port-22-blocked