我正在运行带有 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.cookie
和vpn.secrets.gwcert
,如果我使用提示,我不知道或不需要这两个。如果我设置cookie-flags=4
和gwcert-flags=4
,它仍然需要它们。
我可以帮忙吗?
答案1
您需要记住,如果您正在编辑由 NetworkManager 生成的配置,并且通过 UI 或 CLI 对连接进行的任何更改都将重置并删除非默认配置元素。这意味着如果您通过“管理网络连接”打开连接或运行 nmcli 命令来更新任何值,如果您查看配置,它可能会缺少机密。
按照penguinbait 的回答您需要编辑该文件并保存,然后重新启动 NetworkManager。
答案2
添加行后[vpn-secrets]
重启网络管理器
systemctl restart NetworkManager
然后建立连接nmcli