Comment enregistrer des mots de passe VPN avec NetworkManger pour nmcli?

14

Il existe de nombreux articles sur la mise en place de mots de passe VPN /etc/NetworkManager/system-connections/<connection>. Je ne peux pas faire fonctionner l'un d'eux sur Ubuntu 12.04. Les champs des questions et réponses semblent subtilement différents des miens. Celui qui s'est approché le plus semblait être: Comment enregistrer les mots de passe VPN avec NetworkManger .

Je préférerais avoir nmclidemandé des mots de passe sur la console plutôt que dans un widget GUI sur le bureau, mais cela semble impossible.

Donc deux questions:

  1. Les /etc/NetworkManager/system-connections/<connection>fichiers et leurs champs sont-ils officiellement documentés quelque part? Il semble y avoir de nombreux liens 404 pour la documentation de NetworkManager.
  2. Quel est le problème avec mon fichier de connexion?

Voici mon dossier de connexion. J'ai essayé de nombreuses variantes de paramètres dans ce fichier, mais c'est aussi proche que possible de ce que j'ai pu trouver (anonymisé bien sûr):

[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

Permissons:

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

L'exécuter donne:

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

Edit: Voici un autre article similaire (sur le VPN Openconnect cependant): Comment puis-je obtenir NetworkManager pour se connecter automatiquement à un VPN Openconnect via nmcli sans demander un utilisateur et un mot de passe

Peter V. Mørch
la source

Réponses:

11

Lorsque vous configurez votre connexion VPN via l'interface graphique, le mot de passe est enregistré dans le trousseau de clés. Si vous enregistrez votre mot de passe dans le fichier de connexion, comme ceci:

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
la source
1
Je n'ai pas travaillé pour moi ici le 15.04. Si j'ai exécuté en nmcli con up id MyVPNtant que mon propre utilisateur, la boîte de dialogue de mot de passe apparaît toujours sur le bureau de la machine distante. Courir d' sudo nmcli con up id MyVPNabord (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 existet ensuiteError: Connection activation failed: Creating object for path '/org/freedesktop/NetworkManager/ActiveConnection/7' failed in libnm-glib.
Peter V. Mørch
4

J'ai eu le même problème, / var / log / messages enregistrait un message où NetworkManager se plaignait de propriétés invalides. Après avoir supprimé les propriétés de l'indicateur et du type et laissé uniquement les enregistrements [vpn-secrets], la connexion a pu être établie.

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

Package que j'ai installé:

NetworkManager-0.8.1-66.el6.x86_64

Résultat:

[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
la source
Ça n'a pas marché pour moi. En tant que root, j'ai obtenu: en (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.tant qu'utilisateur "moi", il a ouvert la boîte de dialogue de connexion sur le bureau distant.
Peter V. Mørch
1
Je peux confirmer que cela fonctionne pour Ubuntu 14.04 sur un VPN Cisco.
Dale Anderson
Fonctionne avec Fritzbox 5490 et Ubuntu 16.04. Où se IPSec secrettrouve la clé pré-partagée IPSec et Xauth passwordle mot de passe que vous avez choisi sur la Fritzbox. Assurez-vous de ne pas gâcher l'orthographe et les mots-clés majuscules / minuscules de IPSec secretet Xauth password.
MadMike
3

En termes de résolution de l'erreur secrète de mot de passe simple dans 16.04 , vous n'avez besoin que des deux lignes:

[vpn-secrets]
password=my_secret_password

Je ne toucherais / ajouterais d'autres lignes que si nécessaire

Loup
la source
1
Je devais aussi réglerpassword-flags=0
Pierre François
2

Je ne changerais pas les fichiers de configuration générés par l'interface graphique. La prochaine fois que vous cliquerez sur l'interface graphique, vos entrées manuelles auront disparu. Une mise à jour du système peut également le freiner.

Vous pouvez essayer ce qui suit:

  • Autoriser l'exécution sudo nmclisans mot de passe:

    Créez un fichier /etc/sudores.d/mynmcli(le nom de fichier n'a pas d'importance)

    Host_Alias HOST = YOURHOSTNAME
    Cmnd_Alias NMCLI    = /usr/bin/nmcli
    YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
    
  • Créez un fichier de mots de passe avec:

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

    Vous pouvez maintenant exécuter la ligne suivante dans un script géré par corn:

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

    (Pour trouver VOTRE type VPN " nmcli con")

Fonctionne pour moi sur Ubuntu 16.10.

Wolfi
la source
1

Faites ce que Wolf a dit . Enregistrez le fichier.

Tapez ensuite

sudo service network-manager restart

et frapper Enter.

Vos modifications sont maintenant en vigueur.

Hypocrite
la source
0

Modifiez votre connexion VPNC à l'aide de la boîte de dialogue Connexions réseau.

Sur l'onglet VPN, les entrées de mot de passe ont une icône à l'intérieur de l'entrée sur le côté droit. Cliquez sur cette icône et sélectionnez "Enregistrer le mot de passe uniquement pour cet utilisateur".

galates
la source