`

openvpn的client使用正确的用户名和密码后无法连接server的原因

阅读更多
openvpn除了证书的验证方式,还可以指定用户名和密码的验证方式
client端配置文件加入
auth-user-pass
连接时会弹出方框提示用户输入用户名和密码
server端配置文件加入
auth-user-pass-verify /tmp/openvpn/server/up.sh via-env
指定openvpn使用up.sh进行验证,通过环境变量将需要验证的用户名和密码传入
up.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="/tmp/openvpn/server/up.txt" 
LOG_FILE="/tmp/openvpn/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 


PASSFILE指定保存用户名和密码的文件,格式是一对用户名和密码写在一行,中间使用空格分隔

今天在调试openvpn客户端使用用户名和密码登陆时,无法连接,查看服务端的log显示



原来是需要在server端配置文件加入--script-security 3,问题即可解决,查看了下这个选项
--script-security level:
Where level can be:
0 -- strictly no calling of external programs
1 -- (default) only call built-ins such as ifconfig
2 -- allow calling of built-ins and scripts
3 -- allow password to be passed to scripts via env
  • 大小: 50.8 KB
分享到:
评论

相关推荐

    基于openvpn的web管理系统,前后端分离设计。

    基于openvpn的web管理系统,前后端分离设计。

    openvpn的几种组网方式

    openvpn的几种组网方式

    softether-open-vpnserver-vpnbridge-v4.43-9799.exe

    功能:可以搭建各种网络代理(电脑端和手机端都能使用);把多个局域网连接成一个大局域网;其他各种强大的网络搭建都能做 截止到发贴日(2024-5-13),最新的版本是该版本 v4.43-9799 另附网盘下载地址 ...

    SecoClient.zip|SecoClient.zip

    2. **配置指南**:如何设置远程连接参数,如服务器地址、端口号、用户名和密码等。 3. **安全设置**:推荐的安全策略,如启用双因素认证、设置强密码、定期更新客户端等。 4. **连接方法**:详细的操作步骤,包括...

    AWS_VPN_Client.msi

    AWS_VPN_Client

    luci-app-pptp-server_2.0-7_all.ipk

    网上收集来的,别问干什么用,我什么都不知道,给OPENWRT的GUI界面添加什么功能,配置某些功能方便点而已

    华为SVNClient for mac 3.1.2.38

    首次使用时,可能需要配置SVN服务器地址、用户名和密码。 4. **主要功能**: - **版本提交**:保存并记录对文件或目录的更改。 - **更新与同步**:获取服务器上的最新版本,与本地副本保持一致。 - **差异查看**...

    SVN Adapter V1.0 签名认证WIN 11 华为secoClient 客户端 提示提示用户与对方建立连接超时,配

    secoClient 链接失败,SVN Adapter V1.0 签名认证警告。 WIN 11 华为secoClient 客户端 提示“提示用户与对方建立连接超时,配置错误或网络故障” 具体操作参考...

    softether-vpnserver-v4.34-linux-x64.tar.gz

    softether-vpnserver-linux

    secoclient-win-64-1.50.3.13

    secoclient-win-64-1.50.3.13,Windows 64位版本。亲测可用。

    softether client

    该软件是一个能虚拟网卡和集线器(HUB)的工具,只要可以访问互联网,都可以使用它来组建远程局域网。在此虚拟的局域网上能进行所有物理局域网上的操作。可以互相访问,可以联网玩只支持局网的游戏(TCP/IP)。该...

    VPN系统使用说明pdf

    总体说明: 我校目前使用的VPN系统已经和我校的门户系统实现了...校内门户系统的用户均可以使用门户系统的用户名和密码来使用VPN 系统。如在门户系统中对密码进行了修改,则登录VPN系统的时候也 需使用新的密码登录。

    CISCO_ASA防火墙_ASDM_安装和配置

    然后,安装 ASDM 管理器,输入用户名和密码,点击“是”,出现以下对话框,点击“Download ASDM Launcher and Start ASDM”,安装完后从网上下载一个 JAVA 虚拟机软件(使用 1.4 以上 Java 版本),进入 ...

    secoclient mac

    "secoclient mac" 是一款针对苹果Mac...总的来说,secoclient mac可能是一款实用的工具,但在使用前务必确保其安全性和合规性,以保护个人和企业的数据安全。同时,对软件的持续监控和更新也是确保其效能和安全的关键。

    cisco-client-winx64

    找了很久的解决方案,在WIN10下可以用得CISCO 的解决方案,亲测可用。下载后,打开压缩包,进入【cisco win...如果显示已连接,但仍然无法访问远程机器,有可能是因为勾选了“Allow Local LAN Access”,去掉勾选试试。

    secoclient win-64-7.0.5.1

    6. 使用教程:安装完成后,用户应熟悉secoclient的界面和操作,例如如何添加新的代码库、如何更新本地代码至最新版本、如何解决合并冲突等。通常,客户端都会有详细的帮助文档或在线教程指导用户使用。 7. 安全性:...

    cisco secure client 5.0.01242(macos)

    added posturecli.exe option so multiple clients can connect to the posture subsystem and send data, instead of just one client and one server communicating, which was all the UI process allowed. ...

    默认设备密码.docx

    常用的网络设备默认密码

    Linux系统下SoftEther服务器的使用方法

    SoftEther V-HUB的默认侦听...如果你的系统已经被占用,或者你有其他原因不想使用这两个默认端口,特别是 Apache之类的Web Server已经使用了443端口作HTTPS用的情况下,SoftEther会显示如下的信息表示侦听443端口失败

    Java远程连接Oracle

    通过`DriverManager.getConnection()`方法,提供数据库URL、用户名和密码来建立连接。例如: ```java String url = "jdbc:oracle:thin:@&lt;数据库服务器&gt;:&lt;端口&gt;:&lt;服务名&gt;"; String user = "&lt;用户名&gt;"; String ...

Global site tag (gtag.js) - Google Analytics