通过http代理使用github

由于公司使用HTTP代理服务器上网,Github一直无法使用, 之前折腾几次都没搞定, 最近正好有空,因此花了两天时间各种百度,终于搞定了,特记录一下。

1 屏蔽NTLM验证

公司网络代理上网需要验证上网,因此首先需要建立一个无需身份验证的普通HTTP代理,Cntlm 正是用来做这件事, windows 下安装和配置很简单,直接从https://sourceforge.net/projects/cntlm/files/ 下载安装,然后从程序中打开cntlm.ini,修改如下内容:
Username    yourusername
Domain        domain
Password    password

Proxy        http-proxy-server-ip:port
修改后保存关闭。然后在 程序-Cntlm-Start Cntlm Authentication Proxy, 然后代理就可以不用用户名和密码使用127.0.0.1:3128 代理上网了

2 添加rsa公钥到github

3 配置config

使用git Bash  创建config file   vi ~/.ssh/config ,内容为:
Host github.com
ProxyCommand ~/.ssh/ssh-https-tunnel %h %p
Port 443
Hostname ssh.github.com

Host bitbucket.org
ProxyCommand ~/.ssh/ssh-https-tunnel %h %p
Port 443
Hostname altssh.bitbucket.org
其中第二段是因为我同时使用了bitbucket,如果只使用github的话只用上面一部分即可, 然后:wq 保存退出

4 下载 ssh-https-tunnel,地址是http://zwitterion.org/software/ssh-https-tunnel/ssh-https-tunnel  直接保存在~/.ssh目录下。打开修改内容如下:
# Proxy details
my $host = "127.0.0.1";
my $port = 3128;

5 成功, 可以用 ssh github.com 测试。

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.