linux 下 git gem 等代理设置问题
github.com,作为程序员的代码仓库,我们经常会用到。但有时候我们不能直接通过网络链接它,只能通过代理。
这里我有一台代理服务器,起初我以为在终端设置了代理环境就行了,其设置为在你的~/.bashrc里增加以下几行:
- export http_proxy="http://proxy-server:3128/"
- export https_proxy="http://proxy-server:3128/"
- export ftp_proxy="http://proxy-server:3128/"
设置好以后,使用以下命令使其启动
- source ~/.bashrc
然后测试wget是没有问题的,如下:
但使用git clone就不行
- git clone git@github.com:aborn/ulitcs.git
通过这两篇文章知道了原因:在windows上通过代理访问github.com 和 Using git over proxy
配制过程分为以下几步:
1. 安装socat,在ubuntu下使用以下命令安装
- sudo apt-get install socat
2. 编辑一个脚本文件,名字为git-proxy ,内容如下
- #!/bin/sh
- # Use socat to proxy git through an HTTP CONNECT firewall.
- # Useful if you are trying to clone git:// from inside a company.
- # Requires that the proxy allows CONNECT to port 9418.
- #
- # Save this file as gitproxy somewhere in your path
- # (e.g., ~/bin) and then run
- # chmod +x git-proxy
- # git config --global core.gitproxy git-proxy
- #
- #
- # Configuration. Common proxy ports are 3128, 8123, 8000.
- _proxy=proxy-server
- _proxyport=3128
- exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport
3. 将git-proxy放到一个目录下,如我将它放到/home/lisp/local/bin,并将该目录加入到PATH
- cp git-proxy /home/lisp/local/bin/
将该目录加入到PATH,加入以下内容到~/.bashrc,然后souce ~/.bashrc
- export PATH=$PATH:/home/lisp/local/bin
- source ~/.bashrc
4. 修改~/.gitconfig,加入以下行和代理
- gitproxy = git-proxy
我.gitconfig文件内容如下:
- [push]
- default = simple
- [user]
- name = aborn
- email = loveaborn@foxmail.com
- [core]
- editor = emacs
- gitproxy = git-proxy
- [https]
- proxy = http://proxy-server:3128
- [http]
- proxy = http://proxy-server:3128
5. 下载转换协议文件connect.c,下载地址点击
只要下载connect.c文件即可,然后编译
- gcc -o connect connect.c
将编译后的文件connect也拷贝到/home/lisp/local/bin下
6. 修改~/.ssh/config,加入以下行
- ProxyCommand /home/lisp/local/bin/connect -H proxy-server:3128 %h %p
我的~/.ssh/config文件内容如下:
- ProxyCommand /home/lisp/local/bin/connect -H proxy-server:3128 %h %p
- Host github.com
- User loveaborn@foxmail.com
- Port 443
- Hostname ssh.github.com
注意这里的connect文件目录与第5步放置的目录一致。
以上步骤完成后,就行了,如下截图:
- git clone git@github.com:aborn/ulitcs.git
- git push
注意:
1. 上面的proxy-server根据你的代理,设置为替换为你的代理服务器的ip地址或者域名
2. 上面的connect.c 文件、编译好的connect文件和git-proxy文件,也可以从这里下载connect.tar.gz 和git-proxy
3. 我的操作系统为Ubuntu 14.04LTS
linux 下 git gem 等代理设置问题的更多相关文章
- linux下git的安装和使用(转)
转自:http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html 最近在使用github,感觉不错.在windows下,可使用g ...
- Linux下git安装配置
一.Linux下git安装配置 2013-07-28 20:32:10| 分类: 默认分类 | 标签:linux git server |举报|字号 订阅 http://abomby ...
- Linux下Git和GitHub使用方法总结
来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到G ...
- linux下git的简单运用
linux下git的简单运用 windows下也有git,是git公司出的bash,基本上模拟了linux下命令行.许多常用的命令和linux下操作一样.也就是说,windows下的git命令操作和l ...
- linux下git使用记录1 git 提交
linux下git使用记录1 浏览:985 发布日期:2013/08/08 分类:技术分享 在使用github的时候,不可避免的接触到了git,用他来更新项目,做版本控制.这里特别把常用的命令记录 ...
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
- Linux Linux下最大文件描述符设置
Linux下最大文件描述符设置 by:授客 QQ:1033553122 1. 系统可打开最大文件描述符设置 查看系统可打开最大文件描述符 # cat /proc/sys/fs/file-max 6 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- Linux下网络服务的安全设置
Linux下网络服务的安全设置 Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供We ...
随机推荐
- C语言 · 黑色星期五
算法训练 黑色星期五 时间限制:1.0s 内存限制:512.0MB 问题描述 有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜” ...
- 中断线程详解(Interrupt)
在上篇文章<多线程的使用——Thread类和Runnable接口>中提到中断线程的问题.在JAVA中,曾经使用stop方法来停止线程,然而,该方法具有固有的不安全性,因而已经被抛弃(Dep ...
- socket数据收发
socket读写 TCP协议是面向流的,read和write调用的返回值往往小于参数指定的字节数.对于read调用,如果接收缓冲区中有20字节,请求读100个字节,就会返回20.对于write调用,如 ...
- Hive Tuning(四) 从查询计划看hive.auto.convert.join的好处
今天我们来讲一下如何看懂Hive的查询计划. hive的执行计划包括三部分 – Abstract syntax tree – 可以直接忽略 – Stage dependencies – 依赖 – S ...
- SpringMVC经典系列-15对SpringMVC的总结---【LinusZhu】
注意:此文章是个人原创,希望有转载须要的朋友们标明文章出处,假设各位朋友们认为写的还好,就给个赞哈.你的鼓舞是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linusz ...
- FastDFS - 文件服务器学习资料
FastDFS搭建及java整合代码 CentOS 6.5下 FastDFS结合Nginx插件实现图片http访问 图片服务器fastDFS的搭建以及配置 nginx fastdfs 配置后 上传成功 ...
- ubuntu rails3.2.16 提示gem mysql adapter
把database.yml的adapter改为mysql2 把Gemfile文件中的gem mysql改为gem mysql2
- kettle启动时候报a fatal exception has occurred
本人刚接触ETL工具 Data Integration - Kettle ,下载了kettle6.0版本,但是在window +jdk1.7(32位)下启动报错, 使用SpoonDebug.bat写的 ...
- 15 款优化表单的 jQuery 插件
网页上的表单提供给用户的一种交互的方式,用户输入数据,提交到服务器,等待后续的处理.这些表单在我们浏览的网页中随处可见,也容易被我们忽略. 比如,“联系我们”页面会提供一个表单给用户填写他们的信息和想 ...
- ubuntu12.04开启虚拟机的unity模式
终端中输入: sudo add-apt-repository ppa:gnome3-team/gnome3 sudo apt-get update sudo apt-get install gnome ...