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