如何使用NetworkManager的nmcli在控制台上输入密码

我想用nmcli连接到VPN。 有没有办法允许我从控制台提供nmcli的密码?

似乎有办法将密码存储在/etc/NetworkManager/system-connections/ , 我似乎无法正常工作 。 但我不想将密码存储在文件中。

在桌面上我每次输入密码,但是当我通过SSH运行sudo nmcli con up id MyVPN时,它会在远程桌面上打开一个GUI对话框,询问我的密码,这对我来说似乎是一个奇怪的设计决定。 如果我远程桌面的VNC,我不会使用nmcli

尝试使用--ask标志:

 nmcli --ask con up id MyVPN 

我放弃了sudo因为它可能是不必要的(而且很危险)。

这应该适用于ubuntu 16.04:

 nmcli --ask con up id MyVPN 

为了让这个工作在ssh上我还必须添加规则

  /etc/polkit-1/localauthority/90-mandatory.d 

一个名为90-ssh-network-control.pkla的内容:

 [Network Manager - Control network nmcli] Identity=unix-user:yourusername Action=org.freedesktop.NetworkManager.network-control ResultAny=yes ResultInactive=yes ResultActive=yes 

另一个名为90-ssh-own-network.pkla的除了Action字段外,用以下内容替换:

 Action=org.freedesktop.NetworkManager.settings.modify.own 

在14.04LTS上--ask选项不可用。