在公司的局域网使用git或github 设置代理

在公司这样的局域网环境中,向要走网络必须走HTTP代理出去。不能直接访问外面的服务,所以这样安全了些,但是也提供了不便的地方。因此需要设置一些代理才能使用。

常用的代理有:

  • HTTP、HTTPS代理 许多程序支持http代理
  • SOCKS代理 不是所有的程序都支持socks代理,但是常用的软件都支持

github上的仓库支持ssh、https、git三种协议的chekout(clone)操作。

生成SSH Key

参考http://www.chenyudong.com/archives/ssh-using-private-public-key-no-password.html进行SSH密钥的生产

git使用http访问

github上可以使用https进行访问。

1
$ git config --global http.proxy http: //web-proxy .oa.com:8080

但是这样可以clone了。但是如果要push代码,那就麻烦了。每次都需要输入密码。

git使用ssh进行访问

使用ssh协议不仅可以访问github,还可以访问我们自己的git私有仓库,可以参考文章通过SSH创建私有git仓库

首先,Windows用户先下载一个mysgit客户端,下个portable版的就好了,https://github.com/msysgit/msysgit/releases里面有git程序。Linux用户跳过。

第二步,配置ssh。Windows用户运行mysgit中的git-bash.bat来启动终端。编辑vim ~/.ssh/config ,将下面的内容写入到文件中

1
2
3
4
Host github.com *.github.com
     ProxyCommand connect -H web-proxy.oa.com:8080 %h %p   #设置代理
     IdentityFile ~/. ssh /privatekey/id_rsa      # 这里是私钥,不要放成公钥啦
     User git

一定要注意IdentityFile这里要使用私钥,不能写错了。不然会让一直输入密码

Enter passphrase for key '/root/.ssh/id_dsa.pub':

参考自:http://superuser.com/questions/508408/public-key-always-asking-for-password-and-keyphrase

ProxyCommand说明了设置代理,其中connect是个程序,Windows用户下载了mysgit,里面有这个程序,Linux用户可能没有,需要安装sudo apt-get install connect-proxy。Centos系列可能yum install connect-proxy没有收录,需要自行下载http://rpm.pbone.net/index.php3?stat=3&search=connect-proxy&srodzaj=3

如果你使用corkscrew,那么解压缩附件,把corkscrew.exe和cygwin1.dll拷贝到mysgit的bin目录中。附:corkscrew.zip

第三步,测试

1
2
ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值