Как узнать пароль от Wi-Fi на Linux: все работающие методы

Забыли пароль от домашнего Wi-Fi, а подключение к роутеру настроено на ноутбуке с Linux? Не спешите сбрасывать настройки маршрутизатора или звонить провайдеру. В большинстве дистрибутивов Linux — от Ubuntu и Debian до Arch Linux и Fedora — сохранённые пароли от сетей хранятся в системных файлах и могут быть извлечены без специальных программ. Главное — знать, где и как их искать.

В этой статье мы разберём 5 способов получения пароля от Wi-Fi на Linux: через терминал (с использованием nmcli, iwconfig и ручного чтения конфигов), а также графическими методами для пользователей GNOME, KDE Plasma и других DE. Отдельно остановимся на нюансах работы с зашифрованными сетями (WPA/WPA2) и объясним, почему некоторые методы могут не сработать на свежих версиях дистрибутивов. Если вы админ или просто любознательный пользователь — здесь найдёте ответы на все вопросы.

1. Способ: Использование nmcli — универсальный метод для NetworkManager

Утилита nmcli (NetworkManager Command Line Interface) — стандартный инструмент управления сетями в большинстве современных дистрибутивов. Она позволяет не только подключаться к Wi-Fi, но и извлекать сохранённые пароли. Метод работает в Ubuntu, Fedora, Linux Mint и других системах с NetworkManager.

Чтобы узнать пароль:

  1. Откройте терминал (Ctrl+Alt+T).
  2. Выведите список сохранённых сетей:
    nmcli -s -g NAME connection show
  3. Скопируйте название нужной сети (например, MyHomeWiFi).
  4. Получите пароль:
    nmcli -s -g 802-11-wireless-security.psk connection show "MyHomeWiFi"

Если команда вернула пустую строку, проверьте:

  • 🔹 Подключены ли вы к этой сети сейчас (некоторые дистрибутивы не сохраняют пароли для "чужих" сетей).
  • 🔹 Используется ли NetworkManager (проверьте командой ps aux | grep NetworkManager).
  • 🔹 Не изменялись ли права доступа к конфигу (ls -la /etc/NetworkManager/system-connections/).

2. Способ: Чтение конфигурационных файлов NetworkManager вручную

Все сохранённые сети и их пароли хранятся в файлах конфигурации по пути /etc/NetworkManager/system-connections/. Этот метод подходит, если nmcli по какой-то причине не работает или вы предпочитаете "ручной" контроль.

Инструкция:

  1. Откройте терминал с правами root:
    sudo -i
  2. Перейдите в директорию с конфигами:
    cd /etc/NetworkManager/system-connections/
  3. Просмотрите список файлов (каждый файл = одна сеть):
    ls
  4. Откройте нужный файл (например, nano MyHomeWiFi.nmconnection) и найдите строку:
    psk=ваш_пароль

Пример содержимого файла:

[connection]

id=MyHomeWiFi

type=wifi

[wifi]

ssid=MyHomeWiFi

mode=infrastructure

[wifi-security]

key-mgmt=wpa-psk

psk=12345678

[ipv4]

method=auto

Что делать, если файлов в папке нет?

Если директория /etc/NetworkManager/system-connections/ пуста, это означает, что:

1) Вы используете другой менеджер сетей (например, wpa_supplicant или connman).

2) Права доступа ограничены (попробуйте sudo ls -la /etc/NetworkManager/).

3) Сеть подключена в "гостевом" режиме без сохранения пароля.

⚠️ Внимание: Не редактируйте эти файлы вручную, если не уверены в синтаксисе! Ошибка в конфиге может привести к потере подключения к сети. Для изменений используйте nmtui или графические настройки.

3. Способ: Использование wpa_supplicant для систем без NetworkManager

Некоторые дистрибутивы (например, Arch Linux или минималистичные сборки) используют wpa_supplicant вместо NetworkManager. В этом случае пароли хранятся в файле /etc/wpa_supplicant/wpa_supplicant.conf.

Чтобы извлечь пароль:

  1. Откройте конфиг с правами суперпользователя:
    sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  2. Найдите блок сети (пример):
    network={
    

    ssid="MyHomeWiFi"

    psk="12345678"

    key_mgmt=WPA-PSK

    }

Если файл пуст или его нет:

  • 🔹 Проверьте альтернативные пути: /etc/wpa_supplicant.conf или ~/.config/wpa_supplicant/.
  • 🔹 Убедитесь, что wpa_supplicant действительно используется (команда ps aux | grep wpa).
  • 🔹 В некоторых случаях пароли хранятся в зашифрованном виде (см. раздел про wpa_passphrase).
📊 Какой дистрибутив Linux вы используете?
Ubuntu/Debian
Arch Linux
Fedora
OpenSUSE
Другой

4. Способ: Графический интерфейс (GNOME, KDE, XFCE)

Если вы предпочитаете не работать с терминалом, в большинстве графических оболочек есть встроенные инструменты для просмотра паролей. Рассмотрим варианты для популярных DE.

GNOME (Ubuntu, Fedora Workstation):

  1. Откройте Настройки → Wi-Fi.
  2. Нажмите на шестерёнку рядом с названием сети.
  3. В разделе Безопасность поставьте галочку Показать пароль.

KDE Plasma:

  1. Перейдите в Настройки системы → Сеть.
  2. Выберите свою Wi-Fi сеть и нажмите Изменить.
  3. Вкладка БезопасностьПоказать пароль.

XFCE (Linux Mint XFCE, Xubuntu):

  • 🔹 Откройте Менеджер сети (значок в трее).
  • 🔹 Выберите сеть → СвойстваПоказать пароль.

⚠️ Внимание: В некоторых дистрибутивах (например, Ubuntu 22.04+) графический интерфейс может не показывать пароль из-за политики безопасности. В этом случае используйте терминальные методы.

Убедитесь, что вы подключены к нужной сети

Проверьте, что у вашей учётной записи есть права на просмотр паролей

Обновите менеджер сети (например, sudo apt update && sudo apt upgrade network-manager)

Перезагрузите компьютер, если сеть не отображается в списке

-->

5. Способ: Альтернативные утилиты (iwconfig, wpa_passphrase)

Если стандартные методы не сработали, попробуйте специализированные утилиты. Они требуют больше знаний, но иногда спасают в нестандартных ситуациях.

1. iwconfig (только для текущего подключения):

Эта команда показывает информацию о текущем Wi-Fi подключении, но не выводит пароль. Однако она полезна для диагностики:

iwconfig wlan0

Если в выводе есть строка Access Point: XX:XX:XX:XX:XX:XX, значит вы подключены к сети, и пароль можно извлечь другими способами.

2. wpa_passphrase (для генерации хэша):

Эта утилита не показывает сохранённые пароли, но позволяет сгенерировать хэш для нового подключения. Полезно, если вы знаете пароль и хотите его зашифровать для конфига:

wpa_passphrase "MyHomeWiFi" "12345678"

3. cat /proc/net/wireless:

Показывает статистику беспроводного подключения, но не содержит паролей. Используйте для проверки уровня сигнала и ошибок подключения.

Утилита Показывает пароль? Когда использовать
nmcli ✅ Да Основной метод для NetworkManager
Конфиги NetworkManager ✅ Да Если nmcli не работает
wpa_supplicant.conf ✅ Да Для систем без NetworkManager
Графический интерфейс ⚠️ Иногда Для пользователей GNOME/KDE
iwconfig ❌ Нет Только для диагностики

Частые ошибки и их решения

Даже опытные пользователи Linux иногда сталкиваются с проблемами при попытке извлечь пароль Wi-Fi. Вот самые распространённые ошибки и способы их исправления:

1. "Permission denied" при доступе к конфигам:

  • 🔹 Используйте sudo перед командами.
  • 🔹 Проверьте принадлежность файлов:
    sudo chown $USER:$USER /etc/NetworkManager/system-connections/*

2. Файлы конфигурации зашифрованы:

В некоторых дистрибутивах (например, Fedora с включённым SELinux) пароли могут храниться в зашифрованном виде. Чтобы их прочитать, временно отключите SELinux (не рекомендуется для постоянного использования):

sudo setenforce 0

3. Сеть подключена, но пароль не сохранён:

Если вы подключились к сети через "гостевой" режим или wpa_supplicant без флага -w, пароль может не сохраняться. Решение:

  • 🔹 Подключитесь к сети заново с галочкой Сохранить пароль.
  • 🔹 Проверьте настройки NetworkManager:
    sudo nano /etc/NetworkManager/NetworkManager.conf

    Убедитесь, что строка store-passwords=true не закомментирована.

FAQ: Ответы на популярные вопросы

Можно ли узнать пароль от Wi-Fi, к которому я подключался раньше, но сейчас не подключён?

Да, если пароль был сохранён в системе. Используйте nmcli или проверьте файлы в /etc/NetworkManager/system-connections/. Однако некоторые дистрибутивы (например, Tails OS) автоматически удаляют пароли после отключения.

Я изменил пароль на роутере, но Linux всё равно подключается со старым. Где он хранится?

Это означает, что в системе сохранён устаревший пароль. Обновите его:

  1. Удалите старое подключение:
    nmcli connection delete "MyHomeWiFi"
  2. Подключитесь к сети заново (введите новый пароль).
Безопасно ли хранить пароли Wi-Fi в открытом виде в конфигах?

По умолчанию файлы в /etc/NetworkManager/system-connections/ доступны только пользователю root. Риск минимален, но для повышения безопасности:

  • 🔹 Установите строгие права:
    sudo chmod 600 /etc/NetworkManager/system-connections/*
  • 🔹 Используйте wpa_supplicant с шифрованием конфигов.
Как узнать пароль Wi-Fi на Linux, если я подключён через Ethernet?

Если вы подключены к роутеру по кабелю, но хотите узнать пароль от его Wi-Fi, используйте:

  1. Веб-интерфейс роутера (обычно 192.168.1.1 или 192.168.0.1).
  2. Команду для просмотра сохранённых сетей (если раньше подключались по Wi-Fi):
    nmcli -g NAME,802-11-wireless-security.psk connection show
Работают ли эти методы на Linux для Android (Termux)?

Частично. В Termux можно использовать termux-wifi-connectioninfo, но для доступа к системным паролям нужны root-права. Без них извлечь пароль не получится из-за ограничений безопасности Android.