2

总而言之,我在我的 Ubuntu 上的 github 上遇到了一个关于 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 我该怎么办?谢谢史蒂文

4

2 回答 2

1

我按照以下步骤从公司代理后面访问 git 存储库。此方法适用于使用诸如“git://something.git”之类的 git URL 的 git 存储库;对于使用http://something.git之类的 http URL 的 git 存储库,请改用此链接的公认答案。

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

安装开瓶器(Ubuntu)

sudo apt-get install corkscrew

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

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

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

domain\username:password

安全认证文件

chmod 600 ~/.corkscrew-auth

创建开瓶器包装脚本 ~/scripts/corkscrew.wrapper

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

使脚本可执行

chmod +x ~/scripts/corkscrew.wrapper

配置 git

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

测试是否可以克隆存储库

git init
git clone git://SOME_GIT_REPOSITORY_ADDRESS

如果你想清理你刚刚做的 git 配置

git config --global --unset core.gitproxy
于 2016-09-19T16:22:33.557 回答
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
于 2014-01-15T11:25:27.737 回答