Squid设置用户名密码
在ubutnu上设置squid代理认证
为了在Ubuntu上设置Squid代理身份验证,您需要对Squid配置文件进行以下一些调整:
生成Squid代理身份验证密码
htpasswd是两种可用于生成代理用户身份验证密码的工具。虽然 htpasswd 加密密码并以混杂格式存储密码,但 htdigest 将密码存储在纯文本中,因此不安全。在此指南中,我们将使用 htpasswd 实用程序。htdigest
为了使用htpasswd,您需要安装。安装它:httpd/apache2-utils
sudo apt-get install apache2-utils
sudo yum install httpd-tools
安装后,运行下面的命令以生成密码供用户验证。
htpasswd -c /etc/squid/.squid_users amos
New password:
Re-type new password:
Adding password for user amos
这为用户amos创建一个密码,并将其存储在。/etc/squid/.squid_users
要添加更多用户,您需要从htpasswd命令中删除选项-c:
htpasswd /etc/squid/.squid_users john
New password:
Re-type new password:
Adding password for user john
当您检查密码文件时,现在有两个用户使用加密密码:
less /etc/squid/.squid_users
amos:$apr1$IyfTZICg$2fPImX5o14XC2KPF1kZWv/
john:$apr1$5o0XKeto$m6c5B5KK5ZAK/7A/VIgYB/
squid用户应该能够阅读此文件。因此,运行下面的命令以设置适当的权限:
chown squid /etc/squid/.squid_users
验证用户名和密码是否适用于squid代理。对于每一个正确的条目,您应该看到如下所示显示:OK
/usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users
amos password
OK
john password
OK
配置Squid代理身份验证
由于一切似乎都很好,继续设置Squid代理基本身份验证。打开Squid配置文件进行编辑并添加以下行。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.squid_users
auth_param basic children 5
auth_param basic realm Proxy Authentication Required
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl auth_users proxy_auth amos john
http_access allow auth_users
作为上面所述行的简要概述:
- 第一行告诉Squid使用帮手程序,并在文件中查找用户名和密码。
basic_ncsa_auth/etc/squid/.squid_users
- 该线指定了生成Squid身份验证器过程的最大数量。
auth_param basic children 5
auth_param basic realm
指定要向客户报告身份验证方案的保护范围。auth_param basic credentialsttl 2 hours
指定Squid假定外部验证的用户名有多长:密码对适用于auth_param basic casesensitive off
指定用户名是否对案例敏感。acl auth_users proxy_auth amos john
为允许身份验证的用户定义Squid身份验证 ACL。
完成配置后,保存文件并重新启动Squid。
systemctl restart squid
配置您的客户端,以使用我们上一篇文章中描述的验证 vai squid代理服务器。
从客户端看,如果您尝试通过浏览器访问互联网,将提示您进行身份验证。请参阅下面的屏幕截图:
当您正确身份验证时,您将能够在浏览器上访问互联网。
如果您尝试使用wget下载文件,将提示您进行身份验证:
wget google.com
--2018-12-19 00:38:21-- http://google.com/
Connecting to 192.168.43.69:3128... connected.
Proxy request sent, awaiting response... 407 Proxy Authentication Required
2018-12-19 00:38:21 ERROR 407: Proxy Authentication Required.
因此:
wget --proxy-user=amos --proxy-password=password google.com
--2018-12-19 00:39:36-- http://google.com/
Connecting to 192.168.43.69:3128... connected.
Proxy request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2018-12-19 00:39:37-- http://www.google.com/
Reusing existing connection to 192.168.43.69:3128.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.8’
index.html.8 [ <=> ] 11.72K --.-KB/s in 0.1s
2018-12-19 00:39:38 (97.6 KB/s) - ‘index.html.8’ saved [12001]
好了,你去吧您已经成功地在Ubuntu上设置了Squid代理身份验证,并带有用户名和密码。