前两片文章已经介绍了 openvpn 的搭建,客户端的配置及连接。
下面同样是连接,只不过前面文章中的用户是基于证书进行验证,下面要实验的是让用户基于账户密码进行验证。
继续操作前面文章中的机器,切到 /etc/openvpn 目录下
要想让用户基于 user/passwd 访问 openvpn ,有一个必不可少的 shell 脚本
文章中所用到的软件:http://down.51cto.com/data/2274450
将脚本放到 /etc/openvpn 目录下即可
查看 checkpsw.sh 这个脚本,发现还需要在 /etc/openvpn 目录下创建一个 pws-file 的文件,这个文件里就是访问 openvpn 的用户及密码的列表文件了
创建 pws-file 文件,并添加一个测试账户 test01 123456 (user passwd)
chmod +x checkpsw.sh
chmod 400 psw-file
编辑 /etc/openvpn 目录下的 server.conf 文件,添加一下内容
vim server.conf
client-cert-not-required #不使用客户端证书,使用密码进行验证
username-as-common-name #使用认证用户名,不使用证书
script-security 3 system #允许通过环境变量将密码传递给脚本
auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env #指定路径,允许登陆的用户名及密码
导出 client.conf ca.crt 两个文件到桌面的 test01 文件夹中
sz -y client.conf
在 test01 文件夹中新建一个后缀名为 .ovpn 的文件,内容如下。并将 test01 文件复制到 openvpn 安装目录中的 config 目录中
client
dev tun
proto tcp
remote 192.168.6.46 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
comp-lzo
verb 3
auth-user-pass
/etc/init.d/openvpn restart