`

OpenVPN以用户名、密码方式登录

阅读更多

1、建立数据库:

以管理员身份登录数据库:
mysql>; create database vpn;
mysql>; GRANT ALL ON vpn.* TO vpn@localhost IDENTIFIED BY 'vpn123';
mysql>; flush privileges;
mysql>; use vpn;
mysql>; CREATE TABLE vpnuser (
    ->;   name char(20) NOT NULL,
    ->;   password char(128) default NULL,
    ->;   active int(10) NOT NULL DEFAULT 1,
    ->;   PRIMARY KEY (name)
    ->; );
mysql>; insert into vpnuser (name,password) values('elm',password('elm'));
#创建vpn用户,对vpn这个database有所有操作权限,密码为vpn123
#active不为1,无权使用VPN
#增加用户 用户名:elm 密码:elm

2、配置pam_mysql模块
创建/etc/pam.d/openvpn文件,文件内容如下:
===================CUT Here================
auth    sufficient      pam_mysql.so                    user=vpn passwd=vpn123 host=localhost db=vpn \
        table=vpnuser usercolumn=name passwdcolumn=password \
        where=active=1 sqllog=0 crypt=2
account required        pam_mysql.so                    user=vpn passwd=vpn123 host=localhost db=vpn \
        table=vpnuser usercolumn=name passwdcolumn=password \
        where=active=1 sqllog=0 crypt=2
==================Cut Here=================
crypt(0) -- Used to decide to use MySQL's PASSWORD() function or crypt()
            0 = No encryption. Passwords in database in plaintext. NOT recommended!
            1 = Use crypt
            2 = Use MySQL PASSWORD() function

3、编辑OpenVPN参数,修改如下内容:

plugin ./openvpn-auth-pam.so openvpn
client-cert-not-required
username-as-common-name

plugin ./openvpn-auth-pam.so openvpn #说明使用的插件,openvpn为插件的参数,使用pam的servicesname
client-cert-not-required #不请求客户的CA证书,使用User/Pass验证
username-as-common-name #使用客户提供的UserName作为Common Name

4、其他与用Key文件验证相同

注意:openvpn-auth-pam.so位于/usr/lib/openvpn里面

del.icio.us 标记: OpenVPN, VPN, Pam
分享到:
评论

相关推荐

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

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

    ODBC方式连接数据库

    - `username` 和 `password`: 分别用于存储查询结果中的用户名和密码字段值。 - `conn`: Connection 对象,用于表示与数据库的连接。 - `rs`: ResultSet 对象,用于处理查询结果。 #### 4.3 方法实现 - **`Opendb`...

    易语言-易语言宽带拨号软件

    这类连接通常需要用户输入用户名和密码,通过拨号协议如PPPoE(Point-to-Point Protocol over Ethernet)与ISP(Internet Service Provider)建立连接。易语言宽带拨号软件就是用来自动化这个过程的,帮助用户快速、...

    k3sMediaServer:kubernetes托管媒体服务器

    k3sMediaServer kubernetes托管媒体服务器 如果需要,可以创建名称...用$ kubectl创建秘密的openvpn密钥创建秘密的通用openvpn --from-literal ='用户名= <VPN>' --from-literal ='密码= <VPN>' 分叉并编辑设置文件

    dCloud GC overview slides for Nanjing Partner Event

    3. **体验演示**:用户使用Cisco.com上的用户名和密码登录dcloud.cisco.com,即可开始体验思科的各种解决方案。 4. **技术支持**:用户在使用过程中遇到问题时,可以联系思科提供的技术支持服务。 #### 五、dCloud...

    基于openfire 的android IM 即时通讯smack的android IM

    2. 创建XMPP连接:通过XMPPTCPConnection类建立与Openfire服务器的连接,设置用户名、密码、主机名和端口号。 3. 登录与注销:使用XMPPTCPConnection对象实现用户的登录和注销操作。 4. 发送和接收消息:通过Message...

Global site tag (gtag.js) - Google Analytics