407 需要代理身份验证

407 需要代理身份验证

当我尝试使用 Ubuntu 软件中心安装软件时,出现以下信息:

Failed to download repository information
Check Your Internet connection

当我尝试做时apt-get install something,我得到:

407  Proxy Authentication Required

我使用需要用户名和密码的代理服务器。我已手动设置系统代理,方法是在网络代理中插入所需的数字并将其应用于整个系统。我猜现在的问题是输入我的用户名和密码。

当我通过 Mozilla 使用 INTERNET 时,它会特别要求我输入用户名和密码。

答案1

为了使您的 apt-get 正常工作,您应该编辑您的 apt 配置文件:

sudo -H gedit /etc/apt/apt.conf

并添加Acquire::http::Proxy "http://username:password@proxyhost:port/";

应严格遵循上面显示的语法。

如果您的用户名或密码中包含“@”,则此配置可能会失败。您还可以为其他协议(例如 FTP)添加代理配置。

更新:如果您的用户名或密码中有“@”,您可以用%40 替换它。示例:如果您的密码是,请@123输入%40123

对于其他角色,请参见百分比编码

答案2

首先通过 Linux 向导使用选项手动设置您的代理设置,并像此向导框一样在整个系统范围内应用设置。

添加您的代理环境。这些只是示例设置...
打开您的命令提示符登录并编辑 apt.conf 文件:

sudo vi /etc/apt/apt.conf

已经有 4 行代码以获得关键词,编辑如下:

Acquire::http::Proxy "http://username:password@proxyhost:port/";
Acquire::https::Proxy "https://username:password@proxyhost:port/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";

笔记
如果您的密码包含特殊字符,如 @、$、!(例如密码:P@ssword),则将特殊字符替换为其十六进制代码等价物,并使用 % 前缀,如下所示:

Acquire::http::Proxy "http://username:p%40ssword@proxyhost:port/"; 

@==>%40
$==>%24
!==>%21

答案3

如果您使用运行 NTLM 身份验证的企业代理,则可以使用 CNTLM:

$ sudo apt-get install cntlm
$ sudo vi /etc/cntlm.conf

更改默认设置(域、用户名、密码和代理)。然后重新启动服务:

$ sudo /etc/init.d/cntlm restart

您现在可以使用localhost:3128(默认 CNTLM 端口)作为 Ubuntu 的系统范围代理。

查看http://cntlm.sourceforge.net/用于文档。

答案4

我认为本教程应该对您有所帮助。

单击“网络”选项卡,选择“手动代理配置”选项,然后输入您的代理服务器、端口详细信息。如果您有用户名和密码,请单击“身份验证”,输入这些详细信息后单击“确定”

(从http://www.ubuntugeek.com/how-to-configure-ubuntu-desktop-to-use-your-proxy-server.html

为了在 shell 中启动的所有程序中调用它,我建议您将其添加到您的/etc/bash.bashrc使用gksudo gedit /etc/bash.bashrc中以将其应用于系统范围内的所有 bash 会话或应用于您的用户空间~/.bashrc

就 Synaptic 而言,在选项卡PreferencesNetwork,您似乎能够为代理设置身份验证。不过,这似乎是 Synaptic 独有的。

相关内容