OPENVPN开启用户密码认证
来源:互联网 发布:淘宝什么时候成立的 编辑:程序博客网 时间:2024/06/08 15:04
一、服务端配置
1、修改openvpn的主配置文件,添加如下内容
[root@ttt openvpn]# cat /etc/openvpn/server.conf |more
#########auth password########
script-security 3 ###--加入脚本处理,如用密码验证
auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env ###指定只用的认证脚本
client-cert-not-required #####不请求客户的CA证书,使用User/Pass验证,如果同时启用证书和密码认证,注释掉该行
username-as-common-name ### 使用客户提供的UserName作为Common Name
############################
2、按照配置文件中的脚本路径放置checkpsw.sh
[root@ttt openvpn]# cat checkpsw.sh
#!/bin/sh
###########################################################
# checkpsw.sh (C) 2004 Mathias Sundman <mathias@openvpn.se>
#
# This script will authenticate OpenVPN users against
# a plain text file. The passfile should simply contain
# one row per user with the username first followed by
# one or more space(s) or tab(s) and then the password.
PASSFILE="/etc/openvpn/psw-file"
LOG_FILE="/var/log/openvpn-password.log"
TIME_STAMP=`date "+%Y-%m-%d %T"`
###########################################################
if [ ! -r "${PASSFILE}" ]; then
echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE}
exit 1
fi
CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}`
if [ "${CORRECT_PASSWORD}" = "" ]; then
echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
exit 1
fi
if [ "${password}" = "${CORRECT_PASSWORD}" ]; then
echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE}
exit 0
fi
echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE}
exit 1
3、赋予该脚本执行权限
[root@ttt openvpn]# chmod +x checkpsw.sh
4、准备用户名和密码认证文件,用户名和密码用空格隔开,同时确保openvpn启动用户可读取该文件
[root@ttt openvpn]# cat psw-file
client01 123456
client02 123456789
为了安全起见,将psw-file的权限尽量改小
[root@ttt openvpn]# chmod 400 psw-file
[root@ttt openvpn]# chown nobody.nobody psw-file
5、重启openvpn的服务进程
二、修改客户端的配置文件,添加下面一行
auth-user-pass
三、开启windows客户端,进行密码认证
- OPENVPN开启用户密码认证
- CentOS 6.6 x64搭建基于用户密码认证的openvpn
- openvpn+ldap认证
- samba -- 用户密码认证
- openvpn+mysql+freeradius+daloradius认证
- openvpn pam mysql 账号认证
- OPENVPN+MYSQL认证+客户端配置
- Ubuntu搭建Radius认证的OpenVPN
- OpenVPN客户端免输密码认证方法
- 基于daloridus认证的openvpn部署
- openvpn部署之基于证书认证
- openvpn部署之基于daloridus认证
- Centos搭建openvpn+mysql数据库认证
- openvpn两种认证方式的区别
- 在Azure虚拟机上开启OpenVPN
- mongdb 开启权限认证
- mongodb3.03开启认证
- mongodb3.03开启认证
- 黑马高新技术 反射篇
- Linux驱动测试
- IOS开发百度地图API
- java SQL批处理
- MFC 控制窗口最大最小尺寸
- OPENVPN开启用户密码认证
- ASP.net,Jquery弹出一个子页面
- struts2注解下的拦截器配置
- 面向对象六大原则(五):迪米特法则
- NAT&Port Forwarding&Port Triggering
- rebar 热部署erlang程序
- 使用javassist动态注入代码
- CUDA convnet 编译及运行20140808
- linux draca