OPENVPN开启用户密码认证

一、服务端配置

1、修改openvpn的主配置文件,添加如下内容

[[email protected] 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

[[email protected] openvpn]# cat 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="/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、赋予该脚本执行权限

[[email protected]  openvpn]# chmod +x checkpsw.sh

4、准备用户名和密码认证文件,用户名和密码用空格隔开,同时确保openvpn启动用户可读取该文件

[[email protected] openvpn]# cat psw-file

client01 123456

client02 123456789

为了安全起见,将psw-file的权限尽量改小

[[email protected] openvpn]# chmod 400 psw-file

[[email protected] openvpn]# chown nobody.nobody psw-file

5、重启openvpn的服务进程

二、修改客户端的配置文件,添加下面一行

auth-user-pass

三、开启windows客户端,进行密码认证

OPENVPN开启用户密码认证

时间: 2024-11-04 00:49:05

OPENVPN开启用户密码认证的相关文章

Emq 限制匿名用户访问,开启用户密码认证

问题: 刚搭建的emq服务默认是开启匿名用户访问的,这样的环境非常不安全,只要知道ip地址就可以连接,所以强烈建议开启用户认证,设置密码! 解决过程 1.修改配置文件 vim /etc/emqx/emqx.conf修改true为falseallow_anonymous = false 2.重启服务 systemctl stop emqxsystemctl start emqx 3.导入插件模块 cd /usr/lib/emqx/binsh emqx_ctl plugins load emqx_a

OpenVPN使用用户名密码认证

紧接上一篇,OpenVPN使用openldap进行认证,这一次让openvpn读取本地文件中的用户名密码,通过判断用户名密码是否存在文件中进行认证,搭建openvpn环境就不多做说明了,只要把openvpn搭建好,客户端能够连接就可以了. 1.修改openvpn配置文件 vi /etc/server.conf 编辑/etc/server.conf文件,并添加如下内容: auth-user-pass-verify /etc/openvpn/checkpsw.sh via-envclient-cer

emqtt emq 的用户密码认证

MQTT 认证设置 EMQ 消息服务器认证由一系列认证插件(Plugin)提供,系统支持按用户名密码.ClientID 或匿名认证. 系统默认开启匿名认证(anonymous),通过加载认证插件可开启的多个认证模块组成认证链: ---------------- ---------------- ------------ Client --> | Username认证 | -ignore-> | ClientID认证 | -ignore-> | 匿名认证 | ---------------

CentOS 6.6 x64搭建基于用户密码认证的openvpn

一.部署 部署情况请查看我上一篇文章,我们这里只是针对上一篇文章进行简单的修改 http://wangzan18.blog.51cto.com/8021085/1673778 二.修改 # vim /etc/openvpn/server.conf 在配置文件最后面添加如下几行数据 script-security 3 system auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env client-cert-not-required user

python装饰器实现用户密码认证(简单初形)

import timecurrent_user={'user':None}def auth(engine = 'file'): def deco(func): #func=最初始的index和最初始的home def wrapper(*args,**kwargs): if current_user['user']: #如果成立说明current_user里面已经有用户信息,说明用户已经登录过,满足条件 #即会执行调用index home函数 res = func(*args, **kwargs)

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

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

mongodb添加用户和认证

Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C:\mongodb. 然后按着shift键右键点击窗口内的空白处,你会看到有个选项 “在此处打开命令窗口” ,一般人我不告诉他^ ^.在cmd内我们使用下面的命令 mongod --auth --logpath "D:\Program Files (x86)\Web\mongodb\log\log.

Selenium + Chrome Diver使用带用户名密码认证的HTTP代理的方法

默认情况下,Chrome的--proxy-server="http://ip:port"参数不支持设置用户名和密码认证.这样就使得"Selenium + Chrome Driver"无法使用HTTP Basic Authentication的HTTP代理.一种变通的方式就是采用IP地址认证,但在国内网络环境下,大多数用户都采用ADSL形式网络接入,IP是变化的,也无法采用IP地址绑定认证.因此迫切需要找到一种让Chrome自动实现HTTP代理用户名密码认证的方案.

openvpn 证书秘钥结合用户密码双重认证(2)客户端端设置

上接  openvpn 证书秘钥结合用户密码双重认证(1)服务器端设置 五.配置客户端-上海站点 1.安装软件 YUM可以使用互联网上的:建议使用一些邮件或者网盘的形式共享,还记得之前 VP服务器上缓存的软件包吗,当然也许两台机器环境不一样,依赖包可能不同,这根据自 己的情况定吧. $yum -y install openvpn 2.用你认为合适且安全的途径,把上海站点需要的CA证书.自己的证书和私钥等文件, 从VPN服务器那里搞过来,确保在以及目录里有这些文件. $sudo ls   /etc