我公司使用代理脚本进行互联网访问。我的主机是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
吗?
我该如何解决这个问题。
答案 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"