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

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

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

我关注了来自上一个问题的说明但是无论我重新启动 NetworkManager、使用nmcli con reload还是重新启动整个系统,它都会忽略[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,它仍然需要它们。

我可以帮忙吗?

答案1

您需要记住,如果您正在编辑由 NetworkManager 生成的配置,并且通过 UI 或 CLI 对连接进行的任何更改都将重置并删除非默认配置元素。这意味着如果您通过“管理网络连接”打开连接或运行 nmcli 命令来更新任何值,如果您查看配置,它可能会缺少机密。

按照penguinbait 的回答您需要编辑该文件并保存,然后重新启动 NetworkManager。

答案2

添加行后[vpn-secrets]

重启网络管理器

systemctl restart NetworkManager 

然后建立连接nmcli

相关内容