http代理环境下使用github

公司上网一般是通过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 里添加配置如下:
[code lang="bash"]
Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/github.rsa
ProxyCommand nc -x 127.0.0.1:7070 %h %p
[/code]

然后就可以正常使用git clone/pull/push这些命令啦!

这里有个介绍如何直接使用http代理的,没试过,估计是可以的
如何让 Git 使用 HTTP 代理服务器

One thought on “http代理环境下使用github

  1. chixq

    Note: For me , after the steps , type “ssh-add” in the terminal , it adds your private key identities to the authentication agent. Otherwise, it maybe an
    “Agent admitted failure to sign using the key.
    Permission denied (publickey).”

    Thanks again, job well done!

    Reply

Leave a Reply to chixq Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>