我连接到需要通过以下方式进行身份验证的 VPN 服务器
/usr/sbin/openvpn --config /etc/openvpn/server.ovpn
这提示我输入登录名/密码(=确定)。
我将登录名和密码添加到文件中,并/etc/openvpn/server.ovpn
使用以下代码更新配置
auth-user-pass /etc/openvpn/auth.txt
我不再需要输入密码(=确定)。
我想从命令行提供身份验证凭据,而不是从配置文件中获取它们:
/usr/sbin/openvpn --auth-user-pass /etc/openvpn/auth.txt --config /etc/openvpn/server.ovpn
这次,系统提示我输入凭证。为什么会这样?
凭证文件和配置都相同(除了auth-user-pass
我上次测试删除的那一行)。
OpenVPN 版本是,2.3.10
它是用它编译的enable_password_save=yes
(必须是这种情况,因为通过配置文件提供凭据是可行的,该包是从标准 Ubuntu 存储库安装的)
答案1
您必须更改参数的位置,--auth-user-pass 应在 --config 参数之后传递,如下所示:
sudo openvpn --config "$HOME/your_file.ovpn" --auth-user-pass "$HOME/auth.txt"
答案2
显然,您的 OpenVPN 用户能够访问 auth 文件(否则从配置文件引用将会失败)。
但只是为了确定:启动 OpenVPN 连接的用户是否被允许读取它?