SSH走443端口访问github

最近博客一直没有更新,然而今天在公司内网从Github分支拉取代码的时候总是报错误,在Github官网找到了一种办法,通过https协议建立SSH连接,即让SSH走443端口。经过测试,公司的防火墙并没有封443端口(基本不可能封)。

如下错误:

1
2
3
4
5
ssh: connect to host github.com port 22: Operation timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我猜测是公司为了避免把内部代码开源把git协议的上传端口给封了,结果一测果然如此。执行

1
2
3
ssh -T git@github.com

ssh: connect to host github.com port 22: Operation timed out

报超时错误。

让SSH走443端口。经过测试,公司的防火墙并没有封443端口(基本不可能封)。测试代码如下

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

如果执行命令后不报错并且显示

1
Hi userName! You've successfully authenticated, but GitHub does not provide shell access.

那接下来就好办了。编辑~/.ssh/config文件(没有则创建一个),然后补充下面的代码:

1
2
3
Host github.com
Hostname ssh.github.com
Port 443

保存退出后再使用上面的命令来测试:

1
ssh -T git@github.com
0%