通过公共WIFI的Github(SSH),端口22被阻止


171

我目前在公共WIFI站点上,无法使用SSH(它们可能阻止了该端口)。但是,我需要该连接才能执行git push

➜ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection refused

通过端口80设置SSH隧道并告知github push使用该连接,是否可以绕过此限制?怎么做?我在OSX(狮子)上。这一定是一个普遍的问题吗?

Answers:


370

试试这个:

$ vim ~/.ssh/config

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

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


6
@prtitrz知道heroku的配置是什么吗?
Alextoul 2012年

32
只是,您不必使用vim打开文件。
乔尔·布鲁尔

1
这很棒!但是我也需要为heroku做这个。有任何想法吗?
J-bob 2015年

如果需要,请访问serverfault.com/a/253314Bad owner or permissions on /home/.../.ssh/config
Sunil Kumar


22

除了使用~/.ssh/config文件进行配置外,您还可以在使用的远程URL中简单地包含端口号。你只需要

  1. 使用类似的正确网址ssh://user@host:port/path代替user@host:path速记;和

  2. ssh.子域名前添加github.com

例如,代替

git@github.com:cdbennett/python-gitlab.git

ssh://git@ssh.github.com:443/cdbennett/python-gitlab.git


1

无需修改~/.ssh/config。您可以通过添加另一个远程存储库git remote add ..

// github
git remote add ssh://git@ssh.github.com:443/repo/name.git

// gitlab
git remote add ssh://git@altssh.gitlab.com:443/repo/name.git

0

我发现两种方法

第一

  • 托+托

在系统上成功安装和配置tor后,只需运行此命令以检查ssh use tor。

torify ssh -Tv git@gitlab.com


第二

  • tor + privoxy +开瓶器

首先从第一步骤配置tor。然后安装privoxy将SOCKS5转换为HTTP代理。

sudo apt install privoxy

然后安装开瓶器

sudo apt install corkscrew

将此配置文件放在:〜/ .ssh / config

host *
    ProxyCommand corkscrew 127.0.0.1 8118 %h %p

或与ncat

Host gitlab.com
        User git
        ProxyCommand ncat --proxy 127.0.0.1:8118 %h %p

也可以用nc代替ncat

    ProxyCommand nc --proxy 127.0.0.1:8118 %h %p

现在,ssh可以使用配置的代理了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.