如何使用 NetworkManger for nmcli 保存 VPN 密码?

如何使用 NetworkManger for nmcli 保存 VPN 密码?

有很多关于将 VPN 密码输入的帖子/etc/NetworkManager/system-connections/<connection>。我无法在 Ubuntu 12.04 上使用它们中的任何一个。问题和答案中的字段似乎与我的略有不同。最接近的一个似乎是:如何使用 NetworkManger 保存 VPN 密码

我更愿意nmcli在控制台上询问密码而不是桌面上的 GUI 小部件,但这似乎是不可能的。

所以有两个问题:

  1. 这些/etc/NetworkManager/system-connections/<connection>文件及其字段是否在任何地方有正式记录?NetworkManager 文档链接似乎有很多 404 错误。
  2. 我的连接文件有什么问题?

这是我的连接文件。我尝试过这个文件中的多种设置,但这是我能想到的最接近最佳的设置(当然是匿名的):

[connection]
# Not sure if this helps or breaks anything. Fails regardless.
permissions=user:peter:;
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
XAuth password-flags=0
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto

权限:

> ls -l /etc/NetworkManager/system-connections/My\ VPNC 
-rw------- 1 root root 527 Apr  8 10:11 /etc/NetworkManager/system-connections/My VPNC

运行它得到:

> sudo nmcli con up id  'My VPNC'
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/44
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.

编辑:这是另一篇类似的帖子(尽管是关于 Openconnect VPN):如何让 NetworkManager 通过 nmcli 自动连接到 Openconnect VPN,而无需提示输入用户和密码

答案1

当您通过 GUI 设置 VPN 连接时,密码将保存在密钥环中。如果您将密码保存在连接文件中,如下所示:

sudoedit /etc/NetworkManager/system-connections/MyConnectionExampleName

in this file:

    # 1 here means key-ring I  think, but with 0, the password below is  used
    [vpn]
    password-flags=0
    cert-pass-flags=0

    [vpn-secrets]
    password=my_secret_password
    cert-pass=my_secret_certificate_password

答案2

在解决简单密码秘密错误方面16.04,你只需要两行:

[vpn-secrets]
password=my_secret_password

我只会在必要时修改或添加其他行

答案3

我遇到了同样的问题,/var/log/messages 记录了一条消息,NetworkManager 抱怨属性无效。在我删除标志和类型属性并仅留下 [vpn-secrets] 记录后,可以建立连接。

ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
XAuth password-flags=0

我已经安装的软件包:

NetworkManager-0.8.1-66.el6.x86_64

结果:

[connection]
id=My VPNC
uuid=a2cd97d5-7df1-4391-91d8-7e72931ec2de
type=vpn
autoconnect=false
timestamp=1396942441

[vpn]
service-type=org.freedesktop.NetworkManager.vpnc
NAT Traversal Mode=natt
Vendor=cisco
Xauth username=user
IPSec gateway=1.2.3.4
IPSec ID=Ipsec
Perfect Forward Secrecy=server
IKE DH Group=dh2

[vpn-secrets]
XAuth password=password
IPSec secret=grouppassword

[ipv4]
method=auto

答案4

沃尔夫说的话.保存文件。

然后输入

sudo service network-manager restart

并击中Enter

现在您的更改已生效。

相关内容