当我尝试使用 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 的系统范围代理。
答案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 而言,在选项卡Preferences
下Network
,您似乎能够为代理设置身份验证。不过,这似乎是 Synaptic 独有的。