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

Pet*_*rch 14 network-manager vpn password 12.04

有很多关于将 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
Run Code Online (Sandbox Code Playgroud)

权限:

> ls -l /etc/NetworkManager/system-connections/My\ VPNC 
-rw------- 1 root root 527 Apr  8 10:11 /etc/NetworkManager/system-connections/My VPNC
Run Code Online (Sandbox Code Playgroud)

运行它给出:

> 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.
Run Code Online (Sandbox Code Playgroud)

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

小智 14

当您通过 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
Run Code Online (Sandbox Code Playgroud)


Wol*_*olf 7

就解决16.04中的简单密码机密错误而言,您只需要两行:

[vpn-secrets]
password=my_secret_password
Run Code Online (Sandbox Code Playgroud)

我只会在必要时触摸/添加其他行

  • 我还需要设置 `password-flags=0` (4认同)

小智 4

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

ipSec-secret-type=save
IPSec secret-flags=0
xauth-password-type=save
XAuth password-flags=0
Run Code Online (Sandbox Code Playgroud)

我已经安装的包:

NetworkManager-0.8.1-66.el6.x86_64
Run Code Online (Sandbox Code Playgroud)

结果:

[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
Run Code Online (Sandbox Code Playgroud)