Вопрос или проблема
В среде рабочего стола 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
Чтобы подключиться к сети с уже сохраненным профилем:
-
Проверка списка соединений: Убедитесь, что ваш профиль действительно сохранен, выполнив следующую команду:
nmcli connection show
В выводе будет список всех сохраненных профилей. Найдите имя вашего профиля (например, "ManualNetworkName").
-
Вход пользователя: Убедитесь, что вы запускаете команду от имени пользователя, который имеет доступ к менеджеру ключей. Кроме того, проверьте, что ваш ключи не заблокированы. Для этого вы можете открыть графический менеджер паролей
seahorse
и разблокировать ключи, если это необходимо. -
Подключение к сети: Теперь вы можете попробовать снова выполнить команду:
nmcli connection up "ManualNetworkName"
Обратите внимание, что
con
может быть сокращено доc
, так что:nmcli c up "ManualNetworkName"
3. Дополнительные рекомендации
-
Убедитесь, что у вас установлены все необходимые пакеты, связанные с NetworkManager и менеджером ключей, например,
gnome-keyring
илиseahorse
. -
Если вы все еще сталкиваетесь с проблемами после выполнения всех вышеуказанных шагов, попробуйте перезапустить
NetworkManager
:sudo systemctl restart NetworkManager
-
Проверьте, нет ли проблем с вашей сетью или оборудованием, которые могли бы мешать подключению.
Заключение
Следуя этому руководству, вы сможете подключиться к уже сохраненной сети Wi-Fi с помощью команды nmcli
, избегая необходимости ввода пароля. Определяя проблемы с доступом к менеджеру ключей, вы можете добиться успешного подключения аналогично тому, как это происходит через графический интерфейс. Если у вас остаются вопросы или проблемы, не стесняйтесь обращаться за дополнительной помощью.