如何自动提供密码给NetworkManager-openconnect?

我正在使用NetworkManager 1.4运行RedHat Enterprise Linux 7.3服务器,需要使用openconnect 7.06-1.el7通过VPN定期访问客户端的networking。 我可以使用nmcli--ask选项连接而没有问题,但它顽固地拒绝让我自动提供一个密码。

我按照上一个问题的说明,但是是否重新启动NetworkManager,使用nmcli con reload ,还是重新启动整个系统,它只是忽略configuration文件中的[vpn-secrets]部分。

 [connection] id=Client VPN Interface uuid=9f0d7d19-8bdf-40e1-9fc8-abce32cda118 type=vpn permissions= secondaries= [vpn] authgroup=Comp gateway=client.gateway.com password-flags=0 service-type=org.freedesktop.NetworkManager.openconnect user-name=myuser [vpn-secrets] password=mypass [ipv4] dns-search= method=auto [ipv6] addr-gen-mode=stable-privacy dns-search= method=auto 

我收到的错误消息是:

 A password is required to connect to 'Client VPN Interface'. Warning: password for 'vpn.secrets.gateway' not given in 'passwd-file' and nmcli cannot ask without '--ask' option. Error: Connection activation failed: no valid VPN secrets. 

如果我用--ask使用相同的密码,它可以工作。 如果我尝试提供passwd-file ,它要求我也添加vpn.secrets.cookievpn.secrets.gwcert ,如果我使用提示,我也不知道或者需要这两者。 如果我设置cookie-flags=4gwcert-flags=4 ,它仍然需要它们。

我可以帮忙吗?

添加行后[vpn-secrets]

重新启动networkingpipe理器

systemctl重启NetworkManager

然后调出nmcli

您需要注意的是,如果您正在编辑由NetworkManager生成的configuration,并且通过UI或CLI对连接进行的任何更改将重置并删除非默认configuration元素。 这意味着如果您通过“pipe理networking连接”打开连接,或运行nmcli命令来更新任何值,如果您查看configuration,可能会丢失秘密。 根据企鹅的答案,您将需要编辑文件并保存,然后重新启动NetworkManager。