Ubuntu 18.4 服务器上的代理 cntlm 身份验证问题

Ubuntu 18.4 服务器上的代理 cntlm 身份验证问题

我刚刚在我的服务器上安装了 ubuntu 18.4。由于我们位于防火墙后面,所以我需要一个代理。Linux 和我公司的代理不能一起工作,因此我在一台计算机上安装了 cntlm。此服务对我们公司的代理进行了适当的身份验证。然后我尝试从我的服务器获取此 cntlm-proxy。

假设用户 = MyUser,密码 = MyPassword,域是 MyDomain。172.24.213.55 是具有 cntlm 服务的计算机。

bash.bashrc添加了以下几行:

    #set proxy
function setproxy(){
export {http,https,ftp}_proxy="http://MyDomain\\MyUser:[email protected]:3128/"

 }

#unset proxy
function unsetproxy() {
unset {http,https,ftp}_proxy
}

我重启然后运行 ​​setproxy。但是当我运行 sudo apt-get update 时,

我明白了

407 Proxy Authentification Required [IP: 172.24.213.55 3128].

作为新手,我找不到原因。我更改了、、/etc/profile(此处为)等等。/etc/environment/etc/apt/apt.confacquire::http::proxy95proxies

有任何想法吗?

答案1

如果您使用具有 CNTLM 身份验证的代理,则需要正确配置 CNTLM 守护程序。

首先在文件中设置正确的域和用户名/etc/cntlm.conf

#
# Cntlm Authentication Proxy Configuration
#
# NOTE: all values are parsed literally, do NOT escape spaces,
# do not quote. Use 0600 perms if you use plaintext password.
#

Username      domainusername
Domain          domainname

# List of parent proxies to use. More proxies can be defined
# one per line in format <proxy_ip>:<proxy_port>
Proxy           123.123.123.123:1234

然后运行cntlm -H并输入你的域密码:

$ cntlm -H
Password: 
PassLM          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNT          XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PassNTLMv2      XXXXXXXXXXXXXXXXXXXXXXXXXXXXX    # Only for user ' domainusername ', domain ' domainname '

将输出(从 PassLM 到 PassNTLMv2)添加到文件/etc/cntlm.conf并重新启动 CNTLM 守护程序。

然后您可以添加export http_proxy=http://localhost:3128到您的 bash 配置中。

答案2

非常感谢。在没有连接到互联网的情况下,我尝试使用在 Windows 客户端上运行的 cntlm 服务,并尝试从我的 ubuntu 服务器处理此服务。这没有用。我确实在其他地方下载了 cntlm,然后直接将其安装在 ubuntu 服务器上。使用您的解释,在重新启动系统后,它终于起作用了。

相关内容