总而言之,我在我的 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
我该怎么办?谢谢史蒂文
问问题
5111 次
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 回答