8

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...

Peter V. Mørch
  • 5,837
  • 4
  • 39
  • 41

2 Answers2

13

Try using the --ask flag:

nmcli --ask con up id MyVPN

I've dropped sudo because it is probably unnecessary (and dangerous).

user437440
  • 131
  • 1
  • 3
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.

rrosa
  • 418