在哪里设置具有登录/密码验证的 OpenVPN 服务器的密码?

在哪里设置具有登录/密码验证的 OpenVPN 服务器的密码?

我想设置一个 OpenVPN 服务器,接受来自客户端的基于凭证的身份验证。该概念在文档

虽然从安全角度来看不建议这样做,但也可以禁用客户端证书,并强制仅进行用户名/密码验证。在服务器上:

client-cert-not-required

此类配置通常还应设置:

username-as-common-name

这将告诉服务器使用用户名进行索引目的,因为它将使用通过客户端证书进行身份验证的客户端的通用名称。

此密码在哪里设置?如何设置?

我希望所有客户端都一样(只需通过用户名来识别自己,如上所述username-as-common-name

答案1

您可以使用:

auth-user-pass-verify vpn_user.sh via-env

或者:

plugin /usr/lib/x86_64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so /etc/pam.d/login

第一个vpn_user.sh是用于验证密码的自定义脚本。第二个是应该在操作系统中创建一个用户以进行身份​​验证。

相关内容