如果您尝试通过--auth-user-pass开关从文件传递用户名/密码到OpenVPN,则会出现以下错误:

"Sorry, 'Auth' password cannot be read from a file."

至少他们很有礼貌。

所以我们的解决方法是以编程方式写入“标准输入”。当我们获得Auth Username:和Auth Password:提示时(这是在C#中)。

时机上的某些内容并非100%可靠,所以我一直在寻找一种方法,以不同的方式将凭据传递给OpenVPN,并且发现了这篇文章: OpenVPN Post

它表示您可以使用--enable-password-save选项重新编译源代码。有没有人能够做到这一点?

我的最后一个问题是:如何在客户端将auth用户名/密码传递给openvpn.exe? OpenVPNGUI会以某种方式做到这一点(也许我们可以复制他们做的事情)?

有帮助吗?

解决方案 3

事实证明问题不在标准中。

我正在使用一些锁定,如果进程在写入标准的过程中退出,可能会出现死锁。

以这种方式发送密码没有问题。

其他提示

可以使用以下DOS命令通过脚本打开VPN连接(但不建议这样做,因为密码未加密)

$openvpn.exe config.ovpn < username < password

请注意!如果以GUI“C:\ Program Files \ OpenVPN \ config \ name.ovpn”

启动,则param auth-user-pass 不起作用

制作启动文件start_openvpv.cmd(+链接到“以管理员身份运行”),内容为:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn --auth-user-pass "C:\Users\Name\Documents\VPN\pass.txt"

pass.txt:

yourusername
yourpassword

或者将行放到name.ovpn中,如上面的messege:

auth-user-pass pass.txt

+ start_openvpv.cmd:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn

对于Openvpn的自动身份验证,您必须修改config.ovpn文件。

- 转到OpenVPN \ config目录并编辑.ovpn文件

- 将此行添加到配置文件 - &gt; auth-user-pass password.txt

- 然后创建password.txt文件并写入:

yourusername
yourpassword

- 执行这些步骤后,您的openvpn将自动连接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top