来自Yocto的Poky的Git克隆错误

时间:2017-08-31 11:03:15

标签: git sockets proxy ubuntu-14.04 yocto

我公司使用代理脚本进行互联网访问。我的主机是Windows,我使用VirtualBox运行Ubuntu 14.04。我想使用GIT从yocto下载一个poky文件,使用代码:

git clone git://git.yoctoproject.org/poky

我按照以下链接:Working Behind a Network Proxy并设置了Firefox和apt的代理。我得到了这样的错误:

git clone git://git.yoctoproject.org/poky

Cloning into 'poky'...

2017/08/31 11:42:40 socat[4846] E read(): EOF during read of socks reply, peer might not be a socks4 server

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

在我的~/.bashrc中,我添加了这样的代理:

export http_proxy='*http://usrname:password@myproxy.mycompany.de:8080/wpad.dat*'
export ALL_PROXY='socks://usrname:password@myproxy.mycompany.de:8080/wpad.dat'
export GIT_PROXY_COMMAND="oe-git-proxy"
export NO_PROXY=$no_proxy

我应该使用其他方式设置我的密码和用户名吗?我应该在http导出中使用socks而不是ALL_PROXY吗?

我该如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您的公司可能会使用NTLM身份验证,~/.bashrc中的协议不支持该协议。

您需要在localhost上另一个其他代理进行身份验证。

https://sourceforge.net/projects/cntlm/files/cntlm/cntlm%200.92.3/

CNTLM可以做到这一点。使用命令

安装cntlm_0.92.3_amd64.deb
sudo dpkg -i cntlm_0.92.3_amd64.deb

配置文件/etc/cntlm.conf中的设置:

Username <username>
Domain <domain>
Password <password>
Proxy <company-proxy>
Listen 3128  # should be default
NoProxy  localhost, 127.0.0.*, 10.*, 192.168.* # should be default

然后使用sudo service cntlm restart重新启动CNTLM服务。

作为代理的环境变量,您现在需要:http://127.0.0.1:3128

export http_proxy="http://127.0.0.1:3128"