Как просмотреть сохранённые Wi‑Fi и пароли на Linux с помощью nmcli

Что такое nmcli?
nmcli — это сокращение от «NetworkManager Command-Line Interface». Это инструмент командной строки для управления демоном NetworkManager, который отвечает за сетевые подключения в большинстве современных дистрибутивов Linux.
Кратко: nmcli позволяет просматривать, создавать и изменять сетевые подключения. Подходит для серверов, скриптов и систем без графического интерфейса.
Основные сценарии использования
- Просмотр ранее использованных Wi‑Fi сетей
- Подключение к Wi‑Fi из терминала
- Экспорт/импорт профилей соединений
- Диагностика сетевых проблем
Установка nmcli на Linux
В большинстве дистрибутивов nmcli уже установлен вместе с NetworkManager. Если его нет, установите пакет NetworkManager соответствующим менеджером пакетов.
Debian, Ubuntu, MX Linux, Pop!_OS:
sudo apt update && sudo apt install network-managerRHEL, Fedora, AlmaLinux, Rocky Linux:
sudo dnf install NetworkManagerArch Linux и производные:
sudo pacman -S networkmanagerВажно: после установки служба NetworkManager обычно запускается автоматически, но на серверах её может потребоваться включить и запустить вручную:
sudo systemctl enable --now NetworkManagerПросмотр сохранённых Wi‑Fi сетей
Чтобы увидеть список всех сохранённых подключений и отфильтровать только Wi‑Fi, выполните:
nmcli connection show | grep wifiЕсли вы не используете grep, nmcli выведет все типы подключений: проводные, Wi‑Fi, мосты, VPN и т.д.
Вывод похож на таблицу: в первой колонке — имя соединения (SSID), далее UUID, тип соединения и устройство.
Просмотр сохранённых паролей Wi‑Fi
Чтобы увидеть пароль сохранённой сети, требуются права root. Формула команды:
sudo nmcli connection show "Имя_сети" -s | grep pskГде “Имя_сети” — точное имя профиля (имя из вывода nmcli connection show).
Пример для сети с именем iPhone:
sudo nmcli connection show iPhone -s | grep pskКоманда выведет строку вида psk:<пароль> или ключи, в которых хранится пароль.
Где хранятся файлы конфигурации: профили NetworkManager обычно находятся в каталоге /etc/NetworkManager/system-connections. В файлах в открытом виде могут храниться параметры подключения (включая psk) в зависимости от настроек системы.
Когда этот способ не работает
- NetworkManager не установлен или им не управляется подключение (например, используются wpa_supplicant напрямую).
- Профиль сохранён с шифрованием ключей, и пароль защищён системой keyring (GNOME Keyring, KWallet) — тогда пароль не отображается напрямую без разблокировки keyring.
- У вас нет прав администратора — sudo обязателен для просмотра psk.
Важно: на некоторых серверах политики безопасности запрещают хранить пароли в открытом виде. В таких системах вывод psk может быть пустым.
Альтернативные методы
- Просмотр файлов в /etc/NetworkManager/system-connections с правами root (чаще всего в формате ini).
- Использование nmcli для экспорта профиля: nmcli connection export <имя> <файл> — затем просмотреть файл.
- Если пароль хранится в keyring, используйте средствa рабочего стола (Seahorse для GNOME) или команды для доступа к keyring.
- Для систем без NetworkManager — проверка конфигурации wpa_supplicant (обычно /etc/wpa_supplicant/wpa_supplicant.conf).
Быстрая методика — как безопасно проверить пароль
- Найдите профиль: nmcli connection show | grep wifi
- Уточните точное имя профиля из первой колонки
- Проверьте содержимое профиля как root: sudo nmcli connection show “Имя_профиля” -s
- Если psk не виден, проверьте keyring или файл в /etc/NetworkManager/system-connections
- После проверки закройте терминал и, при необходимости, очистите историю команд (history -c) если требуются дополнительные меры приватности
Чек‑лист по ролям
Для системного администратора:
- Проверить, что NetworkManager установлен и активен
- Выполнить nmcli connection show для списка профилей
- Просмотреть psk при необходимости и задокументировать изменения
- Убедиться, что файлы в /etc/NetworkManager/system-connections имеют корректные права (обычно 600)
Для обычного пользователя:
- Узнать имя сети из вывода nmcli
- Попросить администратора показать пароль при необходимости
- Не хранить пароли в общедоступных скриптах
Для безопасников/аудитора:
- Убедиться, что хранение psk соответствует политике безопасности
- Проверить использование keyring и его конфигурацию
Безопасность и приватность
- Доступ к паролям требует прав администратора. Не предоставляйте их ненадёжным лицам.
- Файлы в /etc/NetworkManager/system-connections обычно содержат чувствительные данные. Ограничьте права доступа (chmod 600) и владельца (root:root).
- Если конфиденциальность критична, рассмотрите использование Enterprise аутентификации (WPA2/WPA3 Enterprise) вместо PSK.
- При работе на публичных машинах избегайте вывода паролей в терминал, который могут видеть другие люди.
Критерии приёмки
- Команда nmcli connection show корректно выводит список сохранённых подключений.
- Команда sudo nmcli connection show “Имя_профиля” -s даёт строку с psk, если пароль сохранён в профиле.
- Файлы в /etc/NetworkManager/system-connections доступны только root и имеют права 600.
- При использовании ключевых хранилищ пароль не виден напрямую, пока keyring не разблокирован.
Мини‑справка (глоссарий)
- nmcli — интерфейс командной строки для NetworkManager.
- SSID — идентификатор беспроводной сети.
- UUID — уникальный идентификатор профиля.
- psk — pre‑shared key, пред‑установленный пароль для сети WPA/WPA2.
- keyring — менеджер ключей рабочего стола (GNOME Keyring, KWallet).
Дополнительные советы и варианты
- Если вы управляете множеством домашних точек доступа и хотите лучший охват, рассмотрите Mesh Wi‑Fi системы: они увеличивают зону покрытия и уменьшают «мертвые зоны» в квартире или офисе.
- Для автоматизации в скриптах используйте nmcli с осторожностью: никому не храните открытые пароли в публичных репозиториях.
- При миграции конфигураций между машинами экспортируйте профили через nmcli connection export и импортируйте на целевой системе.
Итог
nmcli — удобный и мощный инструмент для работы с сетями в Linux. Он позволяет быстро увидеть список сохранённых Wi‑Fi сетей и при наличии прав — просмотреть сохранённые пароли. Всегда соблюдайте правила безопасности при работе с конфиденциальными данными.