On Debian 13 why do I get the following error only via SSH?
``` 2026-07-26T20:09:43.051349+00:00 | proton.vpn.backend.networkmanager.core.networkmanager:96 | ERROR | Error adding NetworkManager connection. Traceback (most recent call last): File "/usr/lib/python3/dist-packages/proton/vpn/backend/networkmanager/core/networkmanager.py", line 94, in start connection = await loop.run_in_executor(None, future_connection.result) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) File "/usr/lib/python3.13/concurrent/futures/_base.py", line 456, in result return self.__get_result() ~~~~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/concurrent/futures/_base.py", line 401, in __get_result raise self._exception File "/usr/lib/python3/dist-packages/proton/vpn/backend/networkmanager/core/nmclient.py", line 131, in callback result = getattr(source_object, finish_method_name)(res) gi.repository.GLib.GError: nm-settings-error-quark: Insufficient privileges (1) ```
Jul 26, 8:10pm
The error you're encountering, nm-settings-error-quark: Insufficient privileges (1), occurs when the Proton VPN backend (or any application) tries to modify NetworkManager connections via its Python bindings (nmclient). This error specifically indicates that the process lacks the necessary permissions to perform the operation.
Why This Happens Only via SSH
PolicyKit (polkit) Restrictions:
NetworkManager operations (e.g., adding/modifying connections) require root or elevated privileges via PolicyKit.
When you're logged in locally (e.g., via a GUI or direct console), your session is often automatically authorized for certain actions via polkit.
Over SSH, your session may not have the same PolicyKit permissions by default, even if you're the same user.
SSH Session Context:
SSH sessions often run in a non-interactive, non-graphical context, which can lack the DBus session bus or PolicyKit agent required for privilege escalation.
Some systems restrict NetworkManager modifications to local sessions only for security reasons.
User vs. System Bus:
NetworkManager typically uses the system DBus bus, which requires elevated permissions.
If your SSH session doesn't have access to the system bus or lacks the necessary polkit rules, the operation fails.
How to Fix It
1. Run the Command with sudo
If you're running the Proton VPN CLI or a script that triggers this error, try:
bash
sudo protonvpn-cli
or prefix the command with sudo to ensure it has the required privileges.
2. Configure PolicyKit for SSH
If you want to allow your SSH user to manage NetworkManager without sudo, you can create a PolicyKit rule:
Security Risk: Allowing SSH users to modify NetworkManager without sudo can be a security risk. Only do this if you trust the user and the network.
Proton VPN Specifics: If this is a Proton VPN-specific issue, check their official documentation for Debian 13 compatibility notes. Some VPN clients require additional setup for headless/SSH environments.
Jul 26, 8:10pm
This is a shared conversation and may include unverified content that doesn't reflect Mistral AI's views. Login to resume chatting.