我有一个工作脚本,它允许我做一个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:
有没有一种方法可以让脚本自己输入值呢?
我试过回音,但没那么容易。
还是我必须编辑命令本身,在文件的某个地方?如果是的话,有人能为我指出正确的方向吗?
发布于 2017-08-18 11:44:45
您有两种选择,一种是使用明文包含用户名和密码的文件(不推荐),另一种是使用证书身份验证。
要在文件中使用用户名和密码,请使用--auth-user-pass <file>
,其中<file>
是Jesse_b提议的,其中包含第一行的用户名,第二行的密码
但是,我认为这是一种不好的做法(真的!),这样做更好,即使您的证书是由第三方检索的,他们至少也不能在没有根密码的情况下更改用户的密码,而且还有更多的事情,特别是如果您有sudo
,并且您的用户在sudoers
列表上等等……
您需要发出以下命令:
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“。始终为每个客户端使用唯一的通用名称。
这很简单,而且比使用纯文本用户名和密码的密码安全得多,请相信我!
https://unix.stackexchange.com/questions/386305
复制相似问题