Github在443端口使用SSH
我在软路由上加了代理后,git pull/push
无法连接(比如路由器系统是 OpenWrt
,代理软件用的 PassWall
),但是如果设置Github
不走代理就可以正常使用。但是如果不代理那就有点治标不治本,还是很慢。
然后排查了一下,发现是机场封了 22 端口,导致出现了这个问题。既然问题找到了那么也就好解决了。Github
支持使用443
端口访问SSH
。
有时,防火墙会完全拒绝允许 SSH 连接。 如果无法选择使用具有凭据缓存的 HTTPS 克隆,可以尝试使用通过 HTTPS 端口建立的 SSH 连接克隆。 大多数防火墙规则应允许此操作,但代理服务器可能会干扰。
要测试通过 HTTPS 端口的 SSH 是否可行,请运行以下 SSH 命令:
1 | $ ssh -T -p 443 git@ssh.github.com |
如果这样有效,万事大吉! 否则,可能需要遵循官方的故障排除指南。
端口 443 的主机名为
ssh.github.com
,而不是github.com
。
现在,若要克隆存储库,可以运行以下命令:
1 | git clone ssh://git@ssh.github.com:443/YOUR-USERNAME/YOUR-REPOSITORY.git |
启用通过 443 端口进行 SSH 连接
如果你能在端口 443 上通过 SSH 连接到 git@ssh.github.com
,则可覆盖你的 SSH 设置来强制与 GitHub.com 的任何连接均通过该服务器和端口运行。
要在 SSH 配置文件中设置此行为,请在 ~/.ssh/config
编辑该文件,并添加以下部分:
1 | Host github.com |
你可以通过再次连接到 GitHub.com 来测试这是否有效:
1 | $ ssh -T git@github.com |
评论