linOTP 到 openVPN 身份验证 ubuntu 12.04

linOTP 到 openVPN 身份验证 ubuntu 12.04

我正在做一个项目,其中必须安装一次性密码验证。我已经成功安装了 openVPN,无需任何验证即可连接。我已经安装了 OTP 软件 linOTP,并将其连接到我的 LDAP 服务器。

与 LDAP 服务器的连接正在运行,并且我已将令牌分配给用户。使用调试接口 ://myip:5001/validate/check 测试令牌时,它会打印响应:

{
   "version": "LinOTP 2.8.0.3", 
   "jsonrpc": "2.0", 
   "result": {
      "status": true, 
      "value": true
   }, 
   "id": 0
}

这意味着 linOTP 的身份验证正在运行,但是当我在 openVPN 服务器上启用密码身份验证时,身份验证失败。

AUTH-PAM: BACKGROUND: user 'jdoe' failed to authenticate: Authentication failure

我已根据本指南进行了所有配置:https://www.howtoforge.com/how-to-set-up-openvpn-to-authenticate-with-linotp

我的 client.ovpn 如下所示:

client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert jdoe.crt
key jdoe.key
ns-cert-type server
comp-lzo
verb 3
auth-user-pass

服务器.conf:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
push "dhcp-option DNS 192.168.0.3"
push "dhcp-option DNS myip"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn

和 linotp 文件,common-linotp:

auth    [success=1 default=ignore]      pam_python.so /lib/security/pam_linotp.py \
    nosslhostnameverify nosslcertverify debug url=https://localhost/validate/check 
auth    requisite           pam_deny.so
auth    required            pam_permit.so

我将使用自签名 HTTPS 证书,因此我根据本指南的 pam_py_linotp 部分包含了 nosslhostnameverify 和 nosslcertverify:https://www.linotp.org/howtos/howto-openvpn.html

最后是 /etc/pam.d/openvpn 文件:

@include common-linotp 
session    sufficient pam_permit.so
account    sufficient  pam_permit.so

我是服务器配置的新手,希望得到任何帮助。

服务器运行ubuntu 12.04。

答案1

对于我来说,这个问题通过添加来解决hide_otp_input。这个记录很差,但是为我解决了同样的问题。

我正在使用pam_linotp.so模块,而不是 python 实现,这可能会有所不同。

相关内容