OpenVPN配置密码方式验证

openvpn提供了证书验证和密码验证两种验证方式,这里来具体描述下密码验证的配置方法。

一:修改openVPN服务端配置,在文件末尾添加如下配置:

# vim /opt/apps/openvpn/etc/server.conf 
auth-user-pass-verify /opt/apps/openvpn/etc/checkpsw.sh via-env
client-cert-not-required
username-as-common-name

二:下载checkpsw.sh文件,并配置相关权限:

下载地址:http://openvpn.se/files/other/checkpsw.sh

内容如下:(注意指定PASSFILE,LOG_FILE的路径)

# vim /opt/apps/openvpn/etc/checkpsw.sh
#!/bin/sh
###########################################################
# checkpsw.sh (C) 2004 Mathias Sundman <[email protected]>
#
# 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="/opt/apps/openvpn/etc/psw-file"
LOG_FILE="/opt/apps/openvpn/var/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
  
# chmod a+x /opt/apps/openvpn/etc/checkpsw.sh

三:创建密码文件,在里面添加账户和密码:

# vim /opt/apps/openvpn/etc/psw-file 
username  password

四:客户端配置密码验证,删除相关证书配置:

auth-user-pass
#cert xxx.crt
#key xxx.key

五:重启openvpn服务,验证客户端密码登录:

时间: 2024-11-10 07:10:18

OpenVPN配置密码方式验证的相关文章

OpenVPN使用MySQL验证并设置访问权限

目录: 安装OpenVPN (http://fengwan.blog.51cto.com/508652/1404435) 配置OpenVPN使用MySQL验证(http://fengwan.blog.51cto.com/508652/1786556) 针对不同用户配置不同权限 背景: 公司使用OpenVPN作为远程接入工具,但是缺乏统一用户管理,缺乏审计功能,同时VPN登录后默认可以访问所有服务器的所有功能及端口,所以在VPN的使用人数上进行限制,但终归治标不治本. 现提出: 测试人员:只能访问

OpenVPN+ldap整合验证

一.服务端的安装与配置 安装基本模块 1.检查OpenVPN所需环境 (1)OpenVPN需要TUN设备支持 modinfo tun 如果报错则不支持TUN设备. (2)需要iptables的nat模块支持 检查iptables 模块, 查看是否有/etc/init.d/iptables文件. (3)需要policycoreutils软件包支持iptables save功能 不安装会在iptables save时报错:iptables: Saving firewall rules to /etc

Centos7+Openvpn使用用户及密码验证登陆

我们上一篇文章介绍了Centos7+Openvpn使用证书验证登陆介绍,今天我们介绍Centos7+Openvpn使用用户及密码登陆验证,具体就补多少了,环境还是基于上一篇的更改来完成. 我们使用Centos7+Openvpn使用用户及密码登陆验证小下载一个验证脚本来完成用户验证登陆. http://openvpn.se/files/other/checkpsw.sh #!/bin/sh ######################################################

Centos7+Openvpn使用Windows AD验证登陆

我们上一篇你文章介绍了Centos7+openvpn使用本地用户和密码验证登陆的配置介绍,今天我们介绍Centos7+Openvpn使用Windows AD验证登陆,具体就不多介绍了,今天还是使用的是上一节安装的配置环境,对于今天的环境介绍,我们只是简单的修改即可 我们要使用Centos7+Openvpn使用Windows AD验证登陆,所以需要准备一条windows AD,其实说到windows AD,对于很多企业都在使用,看网上的很多文档都是使用的是openldap在做验证,但是对于大企业及

CentOS6.6 OpenVPN 服务器结合AD域认证

一.OpenVPN简介 OpenVPN是一个用于创建虚拟专用网络加密通道的软件包,最早由James Yonan编写.OpenVPN允许创建的VPN使用公开密钥.数字证书.或者用户名/密码来进行身份验证. 它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库. 目前OpenVPN能在Solaris.Linux.OpenBSD.FreeBSD.NetBSD.Mac OS X与Windows 2000/XP/Vista/7/8/8.1以及Android和iOS上运行,并包含了许多安全性

Openvpn技术企业级中级运维实战视频教程

课程目录: openvpn技术企业级中级运维实战(上) 1.01-课前思想必看2.02-VPN概述介绍与图解3.03-VPN的作用介绍与图解4.04-VPN的企业应用分类介绍与图解15.05-VPN的企业应用分类介绍与图解26.06-常见隧道协议介绍-PPTP7.07-常见隧道协议介绍-L2TP8.08-常见隧道协议介绍-IPSEC-SSLVPN9.09-实现vpn功能常见开源产品及实际应用特点介绍10.10-根据企业生产场景需求选择vpn产品及方案建议11.11-openvpn开源vpn产品介

企业级openvpn生产标准史上最牛最全最实战课程

企业级openvpn生产标准史上最牛最全最实战课程 近100节,让你轻松精通openvpn及技术 http://edu.51cto.com/pack/view/id-277.html 企业级OpenVPN技术中级运维实战视频课程(上) 1 课前思想必看 2 VPN概述介绍与图解 3 VPN的作用介绍与图解 4 VPN的企业应用分类介绍与图解1 5 VPN的企业应用分类介绍与图解2 6 常见隧道协议介绍-PPTP 7 常见隧道协议介绍-L2TP 8 常见隧道协议介绍-IPSEC-SSLVPN 9

IdentityServer4服务器配置

Session认证和JWT(Json Web Token) Token认证就是基于JWT 1.Session认证 1. 用户输入其登录信息 2. 服务器验证信息是否正确,并创建一个session,然后将其存储在数据库中 3. 服务器为用户生成一个sessionId,将具有sesssionId的Cookie将放置在用户浏览器中 4. 在后续请求中,会根据数据库验证sessionID,如果有效,则接受请求 5. 一旦用户注销应用程序,会话将在客户端和服务器端都被销毁 2.JWT认证 1. 用户输入其

接上篇 OPENVPN 证书+简单密码验证+防火墙策略

还是先介绍下环境 外网pc客户端  119.119.119.119 内网出口IP    112.112.112.112 openvpn服务器 192.168.0.250 openVPN ip池  172.18.1.0/24 内网服务器    192.168.0.1 安装步骤请参考之前文章,或者tar包下载源码安装即可. 配置支持用户名密码验证 服务器端配置文件: ###cat server.conf local 192.168.0.250  监听本地IP port 11940