公司上网一般是通过http代理,只能访问外网的443和80端口,github现在本身就支持https的方式提交代码,这里讲的是如何通过默认方式即git协议提交代码,我们知道git是基于ssh的,端口是22,github这个服务器的ssh端口我们又不能像自己的服务器一样改成443,怎么办呢。在基于http做好的ssh代理之上,再连接github,已经开启的ssh代理是不受端口限制的。
首先参考 用ssh突破公司http代理,把ssh代理建立起来。
然后按照github的官网Generating SSH Keys,生成密钥,并相应的配置github的帐户。
配置好后在 .ssh/conifg 里添加配置如下:
Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/github.rsa
ProxyCommand nc -x 127.0.0.1:7070 %h %p
然后就可以正常使用git clone/pull/push这些命令啦!
这里有个介绍如何直接使用http代理的,没试过,估计是可以的