Linux 上的 OpenVPN:在命令行中传递用户名和密码

新手上路,请多包涵

我在冲浪时使用 IPVanish 使用代理;喜欢:

 sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn

现在,我必须输入我的用户名,然后输入我的密码。如何将这两个参数作为一个命令传递,以便我只使用一个命令并且用户名/密码会自动传递?

原文由 JOhnlw009a 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

以前的答案对我不起作用(仍然要求输入用户名和密码),起作用的是将您的凭据放入文件(pass.txt)中,如下所示

username@email.com
password

并使用 --auth-user-pass pass.txt 调用 openvpn。

资源

请注意,在某些 OpenVPN 版本(例如 OpenVPN 2.4.11)中存在一个错误,您必须首先使用 --config 然后 --auth-user-pass 否则您的身份验证文件将被忽略而没有任何警告。

所以,这里有一个完整的例子:

 sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn --auth-user-pass pass.txt

原文由 Fluffy 发布,翻译遵循 CC BY-SA 4.0 许可协议

遵循 @Fluffy 的 回答(不幸的是,我没有足够的声誉发表评论)

有一个不错的 bash 技巧可以消除对 pass.txt 文件的需要

在欧洲

openvpn ... --auth-user-pass pass.txt

pass.txt 在哪里

opvn_user
ovpn_pass

一个可以使用

openvpn ... --auth-user-pass <(echo -e "opvn_user\novpn_pass")

请注意 \n 用户名和密码之间的用法

原文由 MrBr 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题