How to generate user password for digest_pw_auth
SQUID digest authentication
I needed to generate new password for proxy user configured on
SQUID proxy server configured with digest user
authentication.
My dear colleague was kind to provide me with the below script,
which generates the one line string which needs to go to the squid
user password file:
#!/bin/sh
user="$1";
realm="$2";
pass="$3";
if [ -z "$1" -o -z "$2" -o -z "$3" ] ; then
echo "Usage: $0 user password 'realm'";
exit 1
fi
ha1=$(echo -n "$user:$realm:$pass"|md5sum |cut -f1 -d' ')
echo "$user:$realm:$ha1"
You can alternatively
download
the squid_generate_pass.sh script here
The script accepts three arguments;
proxy-server:~# ./squid_generate_pass.sh
Usage: ./squid_generate_pass.sh user password
'realm'
Thus to generate a new user and password and insert it immediately
into let's say a squid configured user/pass file in
/etc/squid3/users execute command:
proxy-server:~# ./squid_generate_pass.sh admin_user
MySecretPassword 'Squid_Configured_Realm' \
>> /etc/squid3/users
Where
Squid_Configured_Realm depends on the realm name
configured in
squid.conf, for example if
squid.conf
includes some auth configuration similar to:
auth_param digest program /usr/lib/squid3/digest_pw_auth -c
/etc/squid3/users
auth_param digest children 2
auth_param digest realm My_Proxy_Realm
acl localusers proxy_auth REQUIRED
The realm script argument should be
My_Proxy_realm . If
squid_generate_pass does completes without errors, it should
add a line to
/etc/squid3/users file similar to:
proxy-server:~# cat /etc/squid3/users
admin_user:My_Proxy_realm:3bbcb35e505c52a0024ef2e3ab1910b0
Cheers ;)