Ale*_*ide 9 shell-script vpn openvpn
我有一个工作脚本,它允许我进行 vpn 连接。它看起来像这样:
openvpn --config VPNBook.com-OpenVPN-Euro1/vpnbook-euro1-tcp443.ovpn
Run Code Online (Sandbox Code Playgroud)
一切都很好,但是每次运行此脚本时,我都必须输入公开可用的 vpn 和密码。(别担心,我不会通过免费 VPN 做银行业务或任何严肃的事情,这更适合学习)。
这是他们网站上公开的用户名和密码:
Username: vpnbook
Password: he2qv5h
Run Code Online (Sandbox Code Playgroud)
启动后,脚本提示我输入用户名和密码,现在我需要复制和粘贴。
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:
Run Code Online (Sandbox Code Playgroud)
有没有办法让脚本自己输入值?
我试着回应它,但这并不容易。
还是我必须在文件的某个地方编辑命令本身?如果是,有人可以指出我正确的方向吗?
您有两种选择,一种是使用包含明文用户名和密码的文件(不推荐),另一种是使用证书身份验证。
要在文件中使用用户名和密码,请使用--auth-user-pass <file>
where <file>
is Jesse_b 建议的文件在第一行包含用户名,在第二行包含密码 (community.openvpn.net/openvpn/wiki/Openvpn23ManPage)。
但是,我认为这是不好的做法(真的!!!!!!!!!),您最好进行证书身份验证,这样,即使您的证书被第三方检索,他们至少也无法在没有 root 密码的情况下更改用户的密码等等,特别是如果你有sudo
并且你的用户在sudoers
列表中等等......
阅读:https : //openvpn.net/community-resources/how-to/#setting-up-your-own-certificate-authority-ca-and-generating-certificates-and-keys-for-an-openvpn-server和多个客户
您需要发布以下内容:
init config
接下来,初始化 PKI。在 Linux/BSD/Unix 上:
. ./vars
./clean-all
./build-ca
Run Code Online (Sandbox Code Playgroud)
在 Windows 上:
vars
clean-all
build-ca
Run Code Online (Sandbox Code Playgroud)
请注意,在上述序列中,大多数查询参数默认为 vars 或 vars.bat 文件中设置的值。必须明确输入的唯一参数是通用名称。
接下来,我们将为服务器生成证书和私钥。在 Linux/BSD/Unix 上:
./build-key-server server
Run Code Online (Sandbox Code Playgroud)
在 Windows 上:
build-key-server server
Run Code Online (Sandbox Code Playgroud)
生成客户端证书与上一步非常相似。在 Linux/BSD/Unix 上:
./build-key client1
./build-key client2
./build-key client3
Run Code Online (Sandbox Code Playgroud)
在 Windows 上:
build-key client1
build-key client2
build-key client3
Run Code Online (Sandbox Code Playgroud)
请记住,对于每个客户端,请确保在出现提示时键入适当的通用名称,即“client1”、“client2”或“client3”。始终为每个客户端使用唯一的通用名称。
这比使用纯文本用户名和密码的密码更简单,更安全,请相信我!