Mit nmcli angelegte VPN-Verbindung für alle Nutzer ohne Passworteingabe freigeben

In Kürze

  • Legt man als Administrator mit nmcli eine neue VPN-Verbindung an, erscheint bei den Nutzern trotzdem die Aufforderung das Passwort einzugeben, obwohl diese Info beim Anlegen der Verbindung angegeben wurde 
  • Entscheidend ist das setzen bestimmter Flags und Parameter in der richtigen Reihenfolge

Fehlerbeschreibung 

Ein Fehlerbild, dessen Lösung ich teilen möchte, da es mich mehrere Tage Tests gekostet hat und hoffentlich jemandem weiterhilft. Im Netz kursieren verschiedenste Lösungen mit denen man, je nach Konstellation jedoch nicht immer zum Ziel kommt.  

In meinem Fall soll folgendes gemacht werden:

  • Unter Debian oder Ubuntu soll eine VPN-Verbindung mit dem Netzwerkmanager nmcli per Script eine neue VPN-Verbindung für einen Nutzer angelegt werden, der Nutzer erhält dabei das VPN-Passwort nicht, sondern nur die Möglichkeit sich zu verbinden und die Verbindung zu trennen. 
  • Mit der bisherigen Lösung, die VPN-Verbindung direkt im angemeldeten Nutzer durchzuführen, war dies kein Problem, da ich die Bereitstellung der Geräte jedoch zunehmend mit MeshCentral automatisiere, soll die Verbindung über einen Administrator-Nutzer angelegt werden und anschließend dem eigentlichen Nutzer verfügbar gemacht werden.

Problem hierbei, legt ein anderer Nutzer die VPN-Verbindung im Netzwerkmanager an, erscheint immer wieder der Passwort-Dialog.

Lösung

Klassisch, anlegen der VPN-Verbindung mit:

 nmcli con import type openvpn file "PFAD ZUR VPN-Datei"

 

Als entscheidend hat sich folgendes herausgestellt:

  • Bei +vpn.data ist das "+" zwingend erforderlich, in zahlreichen Beispielen fehlt dies, dann besteht zumindest in meiner getesteten Konstellation mit Debian 13 / Ubuntu 24.04 LTS das Problem weiterhin.
    • Zur Kontrolle - im graphischen Netzwerkmanager ist der Nutzername auch nicht ersichtlich, wenn das "+" weggelassen wird.
  • Vor der Übergabe des Passworts muss das Flag "password-flags=0" gesetzt werden, damit global nicht erneut nach Passwörtern gefragt wird.
  • Werden die Befehle wie nachfolgend eingegeben, können andere angelegte Nutzer auf dem System eine VPN-Verbindung aufbauen, ohne dass nach Nutzername und Passwort gefragt wird.
 nmcli con modify "Name der VPN-Verbindung" +vpn.data username="VPN-Benutzername"
 nmcli con modify "Name der VPN-Verbindung" +vpn.data "password-flags=0"
 nmcli con modify "Name der VPN-Verbindung" vpn.secrets password="VPN-Passwort"