如何使用NetworkManger为nmcli保存VPN密码?
关于将VPN密码放入/etc/NetworkManager/system-connections/
post很多。 我不能让任何人在Ubuntu 12.04上工作。 问题和答案中的字段似乎与我的略有不同。 最接近的似乎是: 如何使用NetworkManger保存VPN密码 。
我更喜欢让nmcli
在控制台上而不是在桌面上的GUI小部件中询问密码 ,但这似乎是不可能的。
所以有两个问题:
-
/etc/NetworkManager/system-connections/
文件及其字段是否在任何地方正式记录? NetworkManager文档链接似乎有很多404。 - 我的连接文件有什么问题?
这是我的连接文件。 我已经在这个文件中尝试了很多种设置,但是这跟我想象的差不多(当然是匿名的):
[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
运行它给出:
> 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.
编辑:这是另一个类似的post(虽然关于Openconnect VPN): 如何让NetworkManager通过nmcli自动连接到Openconnect VPN而不提示用户和密码
通过GUI设置VPN连接时,密码将保存在密钥环中。 如果将密码保存在连接文件中,如下所示:
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
我遇到了同样的问题,/ var / log / messages正在注册一条消息,其中NetworkManager抱怨无效的属性。 删除标志并键入属性并仅保留[vpn-secrets]记录后,可以建立连接。
ipSec-secret-type=save IPSec secret-flags=0 xauth-password-type=save XAuth password-flags=0
我安装的包:
NetworkManager-0.8.1-66.el6.x86_64
结果:
[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
在解决16.04中的简单密码密码错误方面,您只需要两行:
[vpn-secrets] password=my_secret_password
如有必要,我只会触摸/添加其他线路
做狼说的话 。 保存文件。
然后输入
sudo service network-manager restart
并按Enter键 。
现在您的更改生效了。
我不会更改GUI生成的配置文件。 下次在GUI中单击时,手动输入就会消失。 系统更新也可以制动它。
您可以尝试以下方法:
-
允许在没有密码的情况下运行
sudo nmcli
:创建文件
/etc/sudores.d/mynmcli
(文件名无关紧要)Host_Alias HOST = YOURHOSTNAME Cmnd_Alias NMCLI = /usr/bin/nmcli YOURHOSTNAME HOST=(root) NOPASSWD:NMCLI
-
创建密码文件:
vpn.secrets.Xauth password:PASSWORD vpn.secrets.IPSec secret:SHAREDSECRET
现在,您可以在由corn处理的脚本中运行以下行:
sudo nmcli con up id YOURVPN passwd-file /path/to/your/file
(要查找YOURVPN类型“
nmcli con
”)
在Ubuntu 16.10上为我工作。
使用“网络连接”对话框编辑VPNC连接。
在VPN选项卡上,密码输入在右侧输入内部有一个图标。 单击此图标并选择“仅为此用户存储密码”。