How to enter password on console with NetworkManager's nmcli
I want to connect to a VPN with nmcli
. Is there a way to allow me to provide a password to nmcli
from the console?
There seem to be ways to store the password in /etc/NetworkManager/system-connections/<connection>
, that I don't seem to be able to get working. But I'd prefer not storing passwords in files at all.
On the desktop I enter the password every time, but when I run sudo nmcli con up id MyVPN
over SSH, it opens a GUI dialog on the remote desktop asking for my password, which seems like a strange design decision to me. If I had e.g. VNC to the remote desktop, I wouldn't use nmcli
...
Solution 1:
Try using the --ask
flag:
nmcli --ask con up id MyVPN
I've dropped sudo
because it is probably unnecessary (and dangerous).
Solution 2:
this should work on ubuntu 16.04:
nmcli --ask con up id MyVPN
to get this working over ssh i also had to add rules in
/etc/polkit-1/localauthority/90-mandatory.d
one called 90-ssh-network-control.pkla
with content:
[Network Manager - Control network nmcli]
Identity=unix-user:yourusername
Action=org.freedesktop.NetworkManager.network-control
ResultAny=yes
ResultInactive=yes
ResultActive=yes
and another called 90-ssh-own-network.pkla
with the same except for the Action field, replace with:
Action=org.freedesktop.NetworkManager.settings.modify.own
on 14.04LTS the --ask
option is not available.