如何配置git从代理服务器后面的github克隆repo

时间:2013-09-04 03:01:47

标签: git ubuntu github ssh

全部     我在Ubuntu上遇到了关于gitub上的git的问题。     我已按git config --global http.proxy proxyserver:port配置代理设置     但是当我输入git clone git@github.com:myusername/example.git时,我得到了以下内容        错误:ssh: connect to host github.com port 22: Connection timed out                   fatal: The remote end hung up unexpectedly      我该怎么办? 谢谢 史蒂芬

2 个答案:

答案 0 :(得分:1)

我按照以下步骤从公司代理后面访问git存储库。此方法适用于使用git URL的git存储库,如“git://something.git”; 对于使用“http://something.git”等网址的git存储库,请使用此link的已接听答案。

此版本使用开瓶器并设置代理所需的用户名和密码。

安装开瓶器(Ubuntu)

malloc

创建包含代理用户名和密码的凭证文件

sudo apt-get install corkscrew

在我的情况下,凭据看起来像这样

echo "username:password" > ~/.corkscrew-auth

安全身份验证文件

domain\username:password

创建corkscrew包装器脚本〜/ scripts / corkscrew.wrapper

chmod 600 ~/.corkscrew-auth

使脚本可执行

#!/bin/sh
exec corkscrew PROXY_IP_ADDRESS PROXY_PORT $* ~/.corkscrew-auth

配置git

chmod +x ~/scripts/corkscrew.wrapper

测试您是否可以克隆存储库

git config --global core.gitproxy ~/scripts/corkscrew.wrapper

如果你想清理你刚刚制作的git配置

git init
git clone git://SOME_GIT_REPOSITORY_ADDRESS

答案 1 :(得分:0)

第1步:安装开瓶器

$ sudo apt-get install corkscrew

步骤2:编写名为git-proxy.sh的脚本并添加以下内容

#!/bin/sh

exec corkscrew <name of proxy server> <port> $*

# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*

第3步:使脚本可执行

$ chmod +x git-proxy.sh

步骤4:通过设置环境变量

为GIT设置代理命令
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"

现在使用git命令,例如

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git