Wie speichere ich VPN-Passwörter mit NetworkManger für nmcli?

14

Es gibt viele Beiträge über das Einfügen von VPN-Passwörtern /etc/NetworkManager/system-connections/<connection>. Ich kann keine davon unter Ubuntu 12.04 zum Laufen bringen. Die Felder in den Fragen und Antworten scheinen sich geringfügig von meinen zu unterscheiden. Das am nächsten kommende schien zu sein: Wie man VPN-Passwörter mit NetworkManger speichert .

Ich hätte lieber nmcliauf der Konsole nach Passwörtern gefragt als in einem GUI-Widget auf dem Desktop, aber das scheint unmöglich.

Also zwei Fragen:

  1. Sind die /etc/NetworkManager/system-connections/<connection>Dateien und ihre Felder irgendwo offiziell dokumentiert? Es scheint viele 404s für NetworkManager-Dokumentationslinks zu geben.
  2. Was stimmt nicht mit meiner Verbindungsdatei?

Hier ist meine Verbindungsdatei. Ich habe viele Variationen von Einstellungen in dieser Datei ausprobiert, aber das ist so gut wie ich es mir vorstellen könnte (natürlich anonymisiert):

[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

Berechtigungen:

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

Laufen gibt es:

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

Bearbeiten: Hier ist ein weiterer ähnlicher Beitrag (über Openconnect VPN): Wie kann ich NetworkManager dazu bringen, sich automatisch über nmcli mit einem Openconnect-VPN zu verbinden, ohne einen Benutzer und ein Kennwort einzugeben

Peter V. Mørch
quelle

Antworten:

11

Wenn Sie Ihre VPN-Verbindung über die GUI einrichten, wird das Kennwort im Schlüsselring gespeichert. Wenn Sie Ihr Passwort in der Verbindungsdatei wie folgt speichern:

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
HackerBaloo
quelle
1
Arbeitete jetzt nicht für mich hier 15.04. Wenn ich nmcli con up id MyVPNals mein eigener Benutzer ausgeführt wurde, wird das Kennwortdialogfeld weiterhin auf dem Desktop des Remotecomputers angezeigt. Laufen sudo nmcli con up id MyVPNgab zuerst (process:3320): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/7: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't existund dannError: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/7' failed in libnm-glib.
Peter V. Mørch
4

Ich hatte das gleiche Problem: / var / log / messages registrierte eine Nachricht, bei der sich NetworkManager über ungültige Eigenschaften beschwerte. Nachdem ich die Flag- und Typeneigenschaften entfernt und nur [vpn-secrets] -Datensätze hinterlassen habe, konnte eine Verbindung hergestellt werden.

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

Paket, das ich installiert habe:

NetworkManager-0.8.1-66.el6.x86_64

Ergebnis:

[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
Oscar
quelle
Hat bei mir nicht funktioniert. Als root habe ich: (process:2034): libnm-glib-WARNING **: async_got_type: could not read properties for /org/freedesktop/NetworkManager/ActiveConnection/4: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist Error: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/4' failed in libnm-glib.Als Benutzer "ich" wurde der Anmeldedialog auf dem Remote-Desktop geöffnet.
Peter V. Mørch
1
Ich kann bestätigen, dass dies für Ubuntu 14.04 auf einem Cisco-VPN funktioniert.
Dale Anderson
Funktioniert mit Fritzbox 5490 und Ubuntu 16.04. Wo IPSec secretist der IPSec Pre-Shared Key und Xauth passwordist das Passwort, das Sie auf der Fritzbox gewählt haben. Achten Sie darauf, Rechtschreibung und Groß- / Kleinschreibung von IPSec secretund nicht durcheinander zu bringen Xauth password.
MadMike
3

Um den einfachen geheimen Kennwortfehler in 16.04 zu beheben , benötigen Sie nur die beiden Zeilen:

[vpn-secrets]
password=my_secret_password

Ich würde nur bei Bedarf andere Zeilen berühren / hinzufügen

Wolf
quelle
1
Ich habe auch zu setzen benötigtpassword-flags=0
Pierre François
2

Ich würde die GUI generierten Konfigurationsdateien nicht ändern. Wenn Sie das nächste Mal in der GUI klicken, sind Ihre manuellen Eingaben weg. Auch ein Systemupdate kann es bremsen.

Sie könnten Folgendes versuchen:

  • Lass es sudo nmcliohne Passwort laufen :

    Erstellen Sie eine Datei /etc/sudores.d/mynmcli(Dateiname spielt keine Rolle)

    Host_Alias HOST = YOURHOSTNAME
    Cmnd_Alias NMCLI    = /usr/bin/nmcli
    YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
    
  • Erstellen Sie eine Passwortdatei mit:

    vpn.secrets.Xauth password:PASSWORD
    vpn.secrets.IPSec secret:SHAREDSECRET
    

    Jetzt können Sie die folgende Zeile in einem Skript ausführen, das von corn behandelt wird:

    sudo nmcli con up id YOURVPN passwd-file /path/to/your/file
    

    (Um IHR VPN zu finden, geben Sie " nmcli con" ein.)

Funktioniert bei mir unter Ubuntu 16.10.

wolfi
quelle
1

Tu was Wolf gesagt hat . Speicher die Datei.

Dann tippe

sudo service network-manager restart

und schlagen Enter.

Jetzt sind Ihre Änderungen wirksam.

Heuchler
quelle
0

Bearbeiten Sie Ihre VPNC-Verbindung im Dialogfeld "Netzwerkverbindungen".

Auf der Registerkarte VPN haben die Passworteingaben ein Symbol in der Eingabe auf der rechten Seite. Klicken Sie auf dieses Symbol und wählen Sie "Passwort nur für diesen Benutzer speichern".

Galater
quelle