Github SSH 通过研究所代理,端口 22 和端口 443 被阻止

Posted

技术标签:

【中文标题】Github SSH 通过研究所代理,端口 22 和端口 443 被阻止【英文标题】:Github SSH via institute proxy, port 22 as well as port 443 blocked 【发布时间】:2016-07-19 05:45:48 【问题描述】:

有一个*** 问题@Github (SSH) via public WIFI, port 22 blocked,关于阻止port 22,但那里给出的解决方案:port 443 对我来说也失败了。

我所有的互联网连接都通过 Institute 代理服务器,它会阻止所有非标准端口。我知道port 80port 8080 都是允许的,我所有通过https 路由的github 交易都可以正常工作。

如何解决这个问题?

ssh -T -p 443 git@ssh.github.com

ssh: connect to host ssh.github.com port 443: Connection refused

我的代理服务器是:http://10.3.100.207:8080/

【问题讨论】:

【参考方案1】:

您的问题是您的连接没有通过研究所代理服务器,根据您的描述,该代理服务器看起来像一个基本的 HTTP 代理。 Git -- 和 ssh -- 不知道代理。您有多种选择:

使用https访问github,通过设置http.proxy配置选项让git知道代理服务器。有这样做的说明here。

配置 ssh 以使用代理。这将需要像corkscrew 这样的工具,它可以通过http 代理转发tcp 连接(如果代理支持CONNECT 方法)。有一些关于该主题的有用文档here。

【讨论】:

【参考方案2】:

我找到了解决问题的简单方法。由于 https 非常适合我的设置和代理,我找到了一种方法来强制 git 在遇到 ssh url 时使用 https 而不是 ssh,方法是执行以下 2 个 git config 命令:

git config --global url."https://github.com/".insteadOf git@github.com:
git config --global url."https://".insteadOf git://

这解决了我的问题。

来源:https://github.com/npm/npm/issues/5257

【讨论】:

以上是关于Github SSH 通过研究所代理,端口 22 和端口 443 被阻止的主要内容,如果未能解决你的问题,请参考以下文章

怎样通过外网ssh访问树莓派

ssh反向代理配置

github默认端口22被占用,ssh: connect to host github.com port 22: Connection timed out

AUTOSSH设置ssh隧道,实现反向代理访问内网主机

Nginx四层反向代理

尝试使用 SSH over HTTP 连接时通过 [IP] 端口 443 重置连接