Забыли пароль от домашнего Wi-Fi, но он сохранён на вашем Linux-ПК? Не спешите сбрасывать роутер или звонить провайдеру. В большинстве дистрибутивов Linux — от Ubuntu и Debian до Arch Linux и Fedora — пароли от беспроводных сетей хранятся в системных файлах и могут быть извлечены даже без прав администратора. Главное — знать, где и как их искать.
В этой статье мы разберём 5 рабочих методов, включая команды для терминала, графические утилиты и ручной поиск в конфигурационных файлах. Вы узнаете, как получить пароль для текущего подключения, просмотреть все сохранённые сети, а также что делать, если система запрашивает sudo, а у вас нет прав суперпользователя. Инструкции актуальны для современных версий NetworkManager, Wicd и connman — самых распространённых менеджеров сетей в Linux.
1. Способ: через графический интерфейс NetworkManager (самый простой)
Если вы используете GNOME, KDE Plasma или другую популярную графическую оболочку, скорее всего, ваша система управляет Wi-Fi через NetworkManager. В этом случае пароль можно посмотреть без терминала — через стандартные настройки.
Откройте меню сетей в правом верхнем углу экрана (значок Wi-Fi) и выполните следующие шаги:
- 📋 Найдите в списке свою сеть Wi-Fi и кликните по ней правой кнопкой мыши. Выберите пункт
Изменить соединениеилиEdit Connections(в английской версии). - 🔑 В открывшемся окне перейдите на вкладку
Безопасность Wi-Fi(илиWi-Fi Security). - 👁️ Поставьте галочку рядом с
Показать пароль(илиShow password). Пароль отобразится в полеКлюч.
⚠️ Внимание: В некоторых дистрибутивах (например, Linux Mint с Cinnamon) этот способ может не сработать, если вы не авторизованы как администратор. В таком случае используйте терминальные команды из следующих разделов.
Если пункта Изменить соединение нет в контекстном меню, попробуйте альтернативный путь:
- Откройте
Настройки системы→Сеть(илиNetwork). - Найдите свою Wi-Fi сеть в списке и нажмите на шестерёнку настроек.
- Перейдите на вкладку
Безопасностьи активируйте отображение пароля.
2. Способ: команда nmcli для NetworkManager (универсально)
Утилита nmcli — это консольный интерфейс для NetworkManager, который работает во всех дистрибутивах, где установлен этот менеджер (а это 90% современных Linux-систем). С её помощью можно узнать пароль за одну команду, даже не зная имени сети.
Откройте терминал (Ctrl+Alt+T) и выполните:
nmcli -s -g 802-11-wireless-security.psk device wifi show-password
Если команда не сработала, попробуйте альтернативный вариант (показывает пароль для текущего подключения):
nmcli -g 802-11-wireless-security.psk connection show "$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d':' -f2)"
Расшифровка команды:
- 🔍
nmcli connection show— отображает информацию о сохранённых подключениях. - 📡
802-11-wireless-security.psk— параметр, в котором хранится пароль. - 🔄
$(...)— подставляет имя текущей активной сети.
⚠️ Внимание: Если вы увидели сообщениеError: no secrets, значит пароль не сохранён в системе (например, вы подключались через WPS или вводили его вручную при каждом подключении). В этом случае попробуйте метод с файлом/etc/NetworkManager/system-connections/из раздела 4.
☑️ Подготовка к использованию nmcli
3. Способ: просмотр всех сохранённых паролей Wi-Fi
Если вам нужно увидеть все пароли от сетей, к которым когда-либо подключался компьютер, используйте эту команду:
sudo grep 'psk=' /etc/NetworkManager/system-connections/*
В результате вы получите список файлов с именами сетей и строками вида psk=ваш_пароль. Например:
/etc/NetworkManager/system-connections/MyWiFi.nmconnection:psk=12345678
Чтобы увидеть только пароли (без путей к файлам), добавьте | cut -d'=' -f2:
sudo grep 'psk=' /etc/NetworkManager/system-connections/* | cut -d'=' -f2
Если вы не хотите использовать sudo, можно просмотреть файлы вручную:
- Перейдите в папку:
cd /etc/NetworkManager/system-connections/ - Посмотрите список сетей:
ls - Откройте нужный файл (например,
nano MyWiFi.nmconnection) и найдите строкуpsk=.
| Команда | Что делает | Требует sudo? |
|---|---|---|
nmcli -s -g 802-11-wireless-security.psk device wifi show-password |
Показывает пароль текущей сети | Нет |
sudo grep 'psk=' /etc/NetworkManager/system-connections/* |
Выводит все сохранённые пароли | Да |
cat /etc/NetworkManager/system-connections/MyWiFi.nmconnection |
Показывает конфиг конкретной сети | Нет (если файл доступен) |
wpa_passphrase MyWiFi |
Генерирует хэш пароля (не показывает исходный) | Нет |
4. Способ: ручной поиск в конфигурационных файлах
Если команды не работают или вы предпочитаете "ручной" подход, пароли Wi-Fi хранятся в текстовых файлах с расширением .nmconnection. Вот как их найти:
- Откройте файловый менеджер с правами администратора (например,
sudo nautilusв GNOME илиsudo dolphinв KDE). - Перейдите в папку
/etc/NetworkManager/system-connections/. - Найдите файл с именем вашей сети (например,
MyHomeWiFi.nmconnection) и откройте его любым текстовым редактором. - В секции
[wi-fi-security]будет строкаpsk=ваш_пароль.
В некоторых дистрибутивах (например, Fedora с GNOME 40+) пароли могут храниться в зашифрованном виде в /var/lib/NetworkManager/. В этом случае без sudo их прочитать не получится.
Пример содержимого файла .nmconnection:
[connection]
id=MyWiFi
type=wifi
interface-name=wlp3s0
[wifi]
ssid=MyWiFi
[wifi-security]
key-mgmt=wpa-psk
psk=MySuperSecretPassword123
[ipv4]
method=auto
[ipv6]
method=auto
⚠️ Внимание: Не редактируйте эти файлы вручную, если не уверены в формате! Ошибка в синтаксисе может привести к потере подключения. Для изменений используйте nmtui или графический интерфейс NetworkManager.
5. Способ: для дистрибутивов без NetworkManager (Wicd, ConnMan)
Если ваш дистрибутив использует альтернативные менеджеры сетей (например, Wicd в AntiX или ConnMan в Sailfish OS), стандартные команды не сработают. Вот что делать в таких случаях:
Для Wicd:
Пароли хранятся в файле /etc/wicd/wireless-settings.conf. Откройте его:
sudo nano /etc/wicd/wireless-settings.conf
Ищите блоки вида:
[MyWiFi]
encryption = WPA2
key = s:ваш_пароль
Для ConnMan:
Используйте команду:
connmanctl services
Затем подключитесь к сети и запросите настройки:
connmanctl config <имя_сети> --passphrase
Если ни один из методов не сработал, возможно, ваш дистрибутив использует уникальный менеджер сетей. Уточните его название командой:
ps aux | grep -E 'network|wifi|conn'
Что делать, если пароль отображается в виде хэша?
Если вместо пароля вы видите строку вида psk=1234abcd5678..., это значит, что он зашифрован. Восстановить исходный пароль из такого хэша практически невозможно. Однако вы можете:
1. Подключиться к роутеру через Ethernet и поменять пароль в веб-интерфейсе (обычно 192.168.0.1 или 192.168.1.1).
2. Сбросить роутер к заводским настройкам (кнопка Reset на задней панели).
3. Использовать утилиту wpa_passphrase, чтобы сгенерировать новый хэш для известного вам пароля и сравнить его с сохранённым.
6. Способ: если вы не администратор (без sudo)
Что делать, если у вас нет прав sudo, а пароль нужен срочно? Есть несколько обходных путей:
- 🔄 Попробуйте команду
nmcliбез sudo — иногда она показывает пароль текущей сети даже без прав администратора:nmcli -g 802-11-wireless-security.psk connection show "$(nmcli -t -f active,ssid dev wifi | grep '^yes' | cut -d':' -f2)" - 📁 Проверьте, не сохранён ли пароль в
~/.config/или~/.local/share/— некоторые менеджеры (например, KWallet в KDE) хранят данные в пользовательских папках. - 🖥️ Если вы подключены к сети через Ethernet, войдите в веб-интерфейс роутера (обычно
192.168.0.1) и посмотрите пароль там. Логин/пароль для входа часто указаны на наклейке роутера.
Если ничего не помогает, остаётся два варианта:
- Попросить администратора системы выполнить команду с
sudo. - Подключиться к роутеру по кабелю и сбросить пароль Wi-Fi через веб-интерфейс.
Частые ошибки и их решения
При попытке посмотреть пароль вы можете столкнуться с типичными проблемами. Вот как их решить:
| Ошибка | Причина | Решение |
|---|---|---|
Error: no secrets |
Пароль не сохранён в системе (вводился вручную при каждом подключении). | Посмотрите пароль на роутере или сбросьте его. |
Permission denied |
Недостаточно прав для чтения файла. | Используйте sudo или попросите администратора. |
Файлы в /etc/NetworkManager/ пустые |
Ваш дистрибутив использует другой менеджер сетей (например, Wicd). | Проверьте раздел 5 этой статьи. |
nmcli: command not found |
NetworkManager не установлен. | Установите его: sudo apt install network-manager (Debian/Ubuntu) или sudo pacman -S networkmanager (Arch). |
Если вы видите сообщение Device 'wlp3s0' is not active, это значит, что Wi-Fi адаптер отключён. Активируйте его командой:
sudo ip link set wlp3s0 up
(Замените wlp3s0 на имя вашего адаптера — посмотрите его командой ip a.)
FAQ: ответы на частые вопросы
Можно ли узнать пароль от Wi-Fi, к которому подключался другой пользователь на этом же ПК?
Да, если у вас есть права sudo. Пароли хранятся в системных файлах (/etc/NetworkManager/), и любой администратор может их просмотреть. Без sudo вы увидите только сети, к которым подключались под своим пользователем.
Я изменил пароль на роутере, но Linux всё равно подключается со старым. Почему?
Это значит, что система сохранила старый пароль в кэше. Обновите его:
- Откройте настройки сети и "забудьте" эту сеть.
- Подключитесь заново, введя новый пароль.
Или выполните в терминале:
nmcli connection delete "ИмяСети"
Как посмотреть пароль от Wi-Fi на Linux, если я подключаюсь через WPS?
Если вы подключались через WPS (кнопка на роутере), пароль не сохраняется в системе. Вам придётся:
- Либо войти в веб-интерфейс роутера и посмотреть пароль там.
- Либо сбросить роутер и настроить его заново.
Работают ли эти методы на Android или Windows?
Нет, эти инструкции только для Linux. Для Windows используйте netsh wlan show profile, а для Android потребуются root-права и файловый менеджер (пароли хранятся в /data/misc/wifi/WifiConfigStore.xml).
Можно ли экспортировать все пароли Wi-Fi в файл для резервной копии?
Да. Скопируйте всю папку с конфигами:
sudo cp -r /etc/NetworkManager/system-connections/ ~/wifi_backup/
Чтобы восстановить позже:
sudo cp -r ~/wifi_backup/* /etc/NetworkManager/system-connections/
sudo chmod 600 /etc/NetworkManager/system-connections/*
sudo systemctl restart NetworkManager