3

如果您尝试通过 --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 选项重新编译源代码。有没有人能够做到这一点?

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

4

4 回答 4

4

笔记!如果从 GUI "C:\Program Files\OpenVPN\config\name.ovpn" 启动,参数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"

通行证.txt:

yourusername
yourpassword

或将行放入 name.ovpn,如上面的消息:

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
于 2014-05-27T12:40:11.133 回答
1

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

$openvpn.exe config.ovpn < username < password
于 2011-11-18T12:25:52.387 回答
0

事实证明,问题不在于标准输入。

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

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

于 2009-08-31T21:34:18.053 回答
-2

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

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

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

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

yourusername
yourpassword

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

于 2014-05-08T10:59:53.493 回答