【问题标题】:OpenVPN --auth-user-pass FILE option on Windows [closed]Windows上的OpenVPN --auth-user-pass FILE选项[关闭]
【发布时间】:2009-07-29 22:07:28
【问题描述】:

如果您尝试通过 --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 是否以某种方式做到这一点(也许我们可以复制他们所做的)?

【问题讨论】:

  • 谢谢大家,刚拿到这个问题的 Tumbleweed 徽章...

标签: c# windows credentials openvpn


【解决方案1】:

注意!如果从 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"

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

【讨论】:

  • 我不知道您打算使用 --config 参数。这解决了我在 linux 上的问题
  • 如果我也必须通过 Google 身份验证 OTP 怎么办?你能告诉我该怎么做吗?谢谢。
【解决方案2】:

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

$openvpn.exe config.ovpn < username < password

【讨论】:

  • 我们对 System.Diagnostics.Process 类做了同样的事情。也不确定这是否非常安全。
  • 这应该是分别有用户名和密码的2个文件吗?
【解决方案3】:

原来问题不在于标准输入。

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

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

【讨论】:

    【解决方案4】:

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

    -进入 OpenVPN\config 目录并编辑 .ovpn 文件

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

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

    yourusername
    yourpassword
    

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

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2016-01-06
      • 2015-05-13
      • 2021-07-26
      • 2015-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多