![Ubuntu 14.04 上的 OpenVPN:启动时自动连接](https://linux22.com/image/1102386/Ubuntu%2014.04%20%E4%B8%8A%E7%9A%84%20OpenVPN%EF%BC%9A%E5%90%AF%E5%8A%A8%E6%97%B6%E8%87%AA%E5%8A%A8%E8%BF%9E%E6%8E%A5.png)
有很多与此相关的主题。通过将 conf 文件放入 /etc/openvpn 来实现 OpenVPN 自动连接根本行不通。当使用身份验证类型“密码”时,一种使其工作的简单方法是:
在 /etc/NetworkManager/dispatcher.d 中添加一个 shell 脚本(在网络活动时自动执行)
#/bin/bash
REQUIRED_CONNECTION1_NAME="wlan0"
REQUIRED_CONNECTION2_NAME="eth0"
VPN_CONNECTION_NAME="myVPN"
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION1_NAME}\|${REQUIRED_CONNECTION2_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
由于这会导致错误,提示缺少 vpn-secret,因此您必须在 /etc/NetworkManager/system-connections/myVPN 设置中更改连接配置
password-flags=0
并添加
[vpn-secrets]
password=myPassword
现在它运行正常。
我的问题是:有没有办法不将密码以明文形式放入 conf 文件中。我知道只有 root 才能读取它,但我不能将密钥放入其中吗?