由于此关联为了进行用户/密码验证,应该将下面的行添加到服务器配置文件中。
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
但是链接没有提到如何login
填充文件。
我在Ubuntu 18.04上。
答案1
PAM 代表可插入身份验证模块是一个系统身份验证和授权框架。它可以使用文件、数据库或任何您配置为密码存储的东西。它甚至可以使用除密码之外的其他东西进行身份验证(例如 OTP 等);它可以进行双因素身份验证,链接到外部受信任的第三方(如 Kerberos)等等。在最简单的情况下,它使用阴影用于存储系统用户的加密密码的文件。
openvpn-auth-pam
模块允许您使用此系统身份验证框架对 OpenVPN 对等方进行身份验证。login
这里表示您的 OpenVPN 将使用的 PAM 服务。您可能已经拥有一些服务,例如system-auth
用于本地用户的服务。查看/etc/pam.d/
文件以了解 PAM 的配置方式,并请阅读其手册。
您会发现,login
默认情况下,该服务仅引用system-auth
。要按原样使用它,您首先要创建本地系统用户并设置他们的密码。然后,--auth-user-pass
向客户端配置添加一个选项,要么使用凭证文件名,要么使用 naked(然后它将以交互方式请求凭证)。man openvpn
有关详细信息,请参阅。
最后,请记住始终首先采用基于证书的身份验证。每个 VPN 对等体必须拥有自己独特的证书/密钥对。用户名/密码身份验证必须仅被视为补充安全措施。最好不要使用“duplicate-cn”功能。