自动添加用户和密码到openvpn脚本

自动添加用户和密码到openvpn脚本

我有一个工作脚本,它允许我进行 VPN 连接。它看起来像这样:

openvpn --config VPNBook.com-OpenVPN-Euro1/vpnbook-euro1-tcp443.ovpn

一切都很好,但每次运行此脚本时我都必须输入公开可用的 VPN 和密码。 (别担心,我不会通过免费 VPN 做银行业务或任何严肃的事情,这更多的是为了学习)。

这是其网站上公开的用户名和密码:

Username: vpnbook

Password: he2qv5h

启动后,脚本提示我输入用户名和密码,现在我需要复制和粘贴。

Tue Aug 15 11:54:51 2017 library versions: OpenSSL 1.0.2l  25 May 2017, LZO 2.08
Enter Auth Username: vpnbook
Enter Auth Password: 

有没有办法让脚本自己输入值?

我尝试回显它,但这并不容易。

或者我是否必须在文件中的某个位置编辑命令本身?如果是,有人可以指出我这样做的正确方向吗?

答案1

您有两种选择,一种是使用包含明文用户名和密码的文件(不推荐),另一种是使用证书身份验证。

要在文件中使用用户名和密码,请使用--auth-user-pass <file>where <file>,因为 Jesse_b 建议在第一行包含用户名,第二行包含密码 (community.openvpn.net/openvpn/wiki/Openvpn23ManPage)。

但是,我认为这是不好的做法(真的!!!!!!!!!),你最好进行证书身份验证,这样,即使你的证书被第3方检索,他们至少将无法更改用户的密码而无需 root 密码以及更多其他操作,特别是如果您有sudo并且您的用户在sudoers列表中等...

读:https://openvpn.net/community-resources/how-to/#setting-up-your-own-certificate-authority-ca-and-generate-certificates-and-keys-for-an-openvpn-server-and - 多客户端

您需要发出以下信息:

init config

接下来,初始化 PKI。在 Linux/BSD/Unix 上:

. ./vars
./clean-all
./build-ca

在 Windows 上:

vars
clean-all
build-ca

请注意,在上述序列中,大多数查询参数默认为 vars 或 vars.bat 文件中设置的值。唯一必须明确输入的参数是公用名称。

接下来,我们将为服务器生成证书和私钥。在 Linux/BSD/Unix 上:

./build-key-server server

在 Windows 上:

build-key-server server

生成客户端证书与上一步非常相似。在 Linux/BSD/Unix 上:

./build-key client1
./build-key client2
./build-key client3

在 Windows 上:

build-key client1
build-key client2
build-key client3

请记住,对于每个客户端,请确保在出现提示时键入适当的公用名称,即“client1”、“client2”或“client3”。始终为每个客户使用唯一的通用名称。

这比使用纯文本用户名和密码的密码更简单,也更安全,请相信我!

相关内容