Подключиться к сохраненной сети Wi-Fi с помощью nmcli (интерфейс командной строки Network Manager)

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

В среде рабочего стола Linux network-manager имеет сохраненную беспроводную сеть, к которой я подключаюсь вручную, нажимая кнопку Подключиться в интерфейсе. (Она настроена так, чтобы не подключаться автоматически к этой конкретной сети wifi)

Я хочу добиться того же результата, что и при нажатии кнопки Подключиться, с терминала; (например, используя nmcli)

Вот до какого момента я дошел

nmcli con up "ManualNetworkName"
Для доступа к беспроводной сети 'ManualNetworkName' требуются пароли или ключи шифрования.
Предупреждение: пароль для '802-11-wireless-security.psk' не указан в 'passwd-file', и nmcli не может спросить без опции '--ask'.

Почему выдается эта ошибка о том, что не удается найти пароль в каком-то файле паролей?

Network-manager уже имеет сохраненный пароль для этой сети. В графическом интерфейсе мне всего лишь нужно нажать кнопку Подключиться, и она подключается без дальнейшего взаимодействия. Мне не нужно вводить пароль, потому что он уже сохранен для этой сети wifi в network-manager. Графический интерфейс network-manager работает как ожидается.

Кстати, я не приму ответ, который включает в себя указание пароля для подключения через терминал. Это ДОЛЖНО использовать существующий профиль network-manager для подключения (в который входят различные настройки для этой сети; не только пароль).

Боюсь, что то, что вы опубликовали, работает у меня на Linux Mint 19 Tara 🙁

Единственное, что я могу предположить:

  • проверьте, нет ли проблемы с командой, которую вы выполняете. nmcli con up "ManualNetworkName" работает на моем компьютере, но в справочной странице написано, что это nmcli c up "ManualNetworkName" ‘c’ вместо ‘con’

  • убедитесь, что вы не выполняете команду от имени другого пользователя, т.е. root или какого-то другого пользователя, у которого нет доступа к вашему ключевому хранилищу.

  • (шанс невелик) проверьте, действительно ли ваше ключевое хранилище было открыто. т.е. проверьте, можете ли вы нажать кнопку в графическом интерфейсе для подключения и отключения, а затем перейти в терминал и попробовать сделать то же самое с командами. (Наверное, вы уже это сделали)

Примечание: я довольно уверен, что nmcli сохраняет пароли в
~/.local/share/keyrings/, но, конечно, эти файлы зашифрованы и
их нужно открыть с помощью seahorse (что является командной строкой для
“Пароли и ключи”)

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

Чтобы подключиться к сохраненной сети Wi-Fi с помощью nmcli (интерфейса командной строки NetworkManager) в среде Linux без необходимости вводить пароль, необходимо следовать нескольким шагам. Из описания вашей проблемы видно, что вы уже на правильном пути, но столкнулись с некоторыми трудностями.

1. Ошибка с паролем

Ошибка, которую вы видите, указывает на то, что nmcli не может получить доступ к сохраненному паролю для вашего профиля сети, так как он не может обратиться к менеджеру ключей (keyring). Основная причина заключается в том, что при попытке подключения команда не может получить доступ к необходимым данным.

NetworkManager сохраняет пароли и другую конфигурацию в файлах, находящихся в ~/.local/share/keyrings/, и для их доступа может потребоваться разблокировка вашего магазина паролей. Обычно это происходит автоматически, если вы уже вошли в свою учетную запись пользователя и открыли графическую среду.

2. Как подключиться через nmcli

Чтобы подключиться к сети с уже сохраненным профилем:

  1. Проверка списка соединений: Убедитесь, что ваш профиль действительно сохранен, выполнив следующую команду:

    nmcli connection show

    В выводе будет список всех сохраненных профилей. Найдите имя вашего профиля (например, "ManualNetworkName").

  2. Вход пользователя: Убедитесь, что вы запускаете команду от имени пользователя, который имеет доступ к менеджеру ключей. Кроме того, проверьте, что ваш ключи не заблокированы. Для этого вы можете открыть графический менеджер паролей seahorse и разблокировать ключи, если это необходимо.

  3. Подключение к сети: Теперь вы можете попробовать снова выполнить команду:

    nmcli connection up "ManualNetworkName"

    Обратите внимание, что con может быть сокращено до c, так что:

    nmcli c up "ManualNetworkName"

3. Дополнительные рекомендации

  • Убедитесь, что у вас установлены все необходимые пакеты, связанные с NetworkManager и менеджером ключей, например, gnome-keyring или seahorse.

  • Если вы все еще сталкиваетесь с проблемами после выполнения всех вышеуказанных шагов, попробуйте перезапустить NetworkManager:

    sudo systemctl restart NetworkManager
  • Проверьте, нет ли проблем с вашей сетью или оборудованием, которые могли бы мешать подключению.

Заключение

Следуя этому руководству, вы сможете подключиться к уже сохраненной сети Wi-Fi с помощью команды nmcli, избегая необходимости ввода пароля. Определяя проблемы с доступом к менеджеру ключей, вы можете добиться успешного подключения аналогично тому, как это происходит через графический интерфейс. Если у вас остаются вопросы или проблемы, не стесняйтесь обращаться за дополнительной помощью.

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

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