NetworkManager не сохраняет пароли Wi-Fi

Вопрос или проблема

Я пытаюсь использовать метод D-bus AddAndActivate соединения на интерфейсе org.freedesktop.NetworkManager, чтобы создать Wi-Fi соединение. Я определенно передаю поле PreSharedKey с паролем, но NetworkManager игнорирует это поле, не удается активировать соединение и запрашивает пароль, когда я пытаюсь использовать nmcli c up <Connection>.

Есть идеи, как заставить его сохранить пароль?

Посмотрите файлы в директории /etc/NetworkManager/system-connections/.

Все Wi-Fi соединения хранятся здесь.
Попробуйте вручную добавить пароль.

Вот пример моего конфига:

[connection]
id=<SSID>
uuid=<UUID>
type=wifi
interface-name=<INTERFACE>
permissions=

[wifi]
mac-address-blacklist=
mode=infrastructure
ssid=xxxxx

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=XXXXXXX                       <- Введите пароль здесь

[ipv4]
dns-search=
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

[proxy]

Наконец, я нашел решение, как создавать и активировать соединения программно и не запрашивать пароль при активации.
Вместо org.freedesktop.NetworkManager.AddAndActivateConnection() можно использовать org.freedesktop.NetworkManager.Settings.AddConnection(), а затем просто вызвать org.freedesktop.NetworkManager.ActivateConnection(). У вас не будет запрашивать пароль

Ответ или решение

Для решения проблемы, связанной с тем, что NetworkManager не сохраняет пароли Wi-Fi, следует обратить внимание на несколько моментов.

Во-первых, вы правильно отметили, что используете метод D-Bus AddAndActivateConnection интерфейса org.freedesktop.NetworkManager. Однако, если вы хотите избежать ввода пароля при активации соединения, рекомендуется использовать метод AddConnection, а затем активировать соединение через ActivateConnection. Это поможет сохранить введенный вами пароль.

Вот инструкции по правильной настройке:

  1. Создание и сохранение соединения:
    Используйте метод org.freedesktop.NetworkManager.Settings.AddConnection(), чтобы создать новое соединение Wi-Fi. Убедитесь, что вы правильно передаете все необходимые поля, включая PreSharedKey, для установки пароля.

  2. Проверка файлов конфигурации:
    После добавления соединения проверьте файлы в каталоге /etc/NetworkManager/system-connections/. Здесь хранятся все Wi-Fi соединения в системе. Убедитесь, что ваш пароль (psk) сохранен в секции [wifi-security] корректно:

    [wifi-security]
    auth-alg=open
    key-mgmt=wpa-psk
    psk=Ваш_Пароль
  3. Активация соединения:
    После добавления соединения используйте метод org.freedesktop.NetworkManager.ActivateConnection(), чтобы активировать соединение. Это должно предотвратить запрос пароля при активации.

Таким образом, использование комбинации методов AddConnection и ActivateConnection гарантирует, что пароль будет сохранен, и вам не придется вводить его вручную вновь.

Если проблема все еще не решена, проверьте логи NetworkManager и убедитесь, что нет других ошибок или конфликтов, мешающих правильной работе.

Оцените материал
Добавить комментарий

Капча загружается...