麒麟OS可提取已保存WiFi密码:一、sudo grep -r "psk=" /etc/NetworkManager/system-connections/;二、sudo cat对应.nmconnection文件并grep psk;三、sudo nmcli connection show "SSID" --show-secrets;四、psk-flags=1时需手动查配置文件中[wifi-security]段psk=值。

如果您已成功连接某个WiFi网络,但忘记了该网络的密码,则可能是由于麒麟OS未在图形界面中提供直接查看入口。银河麒麟V10基于NetworkManager管理无线连接,所有已保存的WiFi凭证以明文或可解密形式存储在系统配置目录中。以下是多种可行的提取方法:
一、使用sudo grep命令批量提取所有已保存WiFi密码
该方法利用NetworkManager将每个WiFi连接的WPA-PSK密钥明文写入/etc/NetworkManager/system-connections/下对应配置文件的特性,通过递归搜索快速定位全部psk=字段。需具备sudo权限,且适用于绝大多数家用路由器默认采用的WPA-PSK加密方式。
1、打开终端(快捷键:Win + T)。
2、执行命令:sudo grep -r "psk=" /etc/NetworkManager/system-connections/。
3、输入当前用户密码完成授权,终端将输出类似/etc/NetworkManager/system-connections/ChinaNet-8312.nmconnection:psk=MyHome2025的行。
4、每行中psk=后紧随的内容即为对应WiFi的明文密码(不含引号)。
二、针对单个WiFi配置文件精确读取密码
当仅需查询某一特定网络密码时,此方法可避免批量结果干扰,直接定位目标配置文件并提取关键字段,适用于SSID名称已知且配置文件路径明确的场景。
1、先确认已保存网络列表:ls /etc/NetworkManager/system-connections/。
2、根据输出找到目标WiFi对应的配置文件名(如MyOfficeWiFi.nmconnection)。
3、执行命令:sudo cat /etc/NetworkManager/system-connections/MyOfficeWiFi.nmconnection | grep psk。
4、若输出为psk=OfficePass2026,则OfficePass2026即为密码;若输出为psk-flags=1,说明该密码被标记为仅限root访问,需配合nmcli进一步操作。
三、使用nmcli命令结合sudo获取带SSID名称的密码信息
该方法通过nmcli工具调用NetworkManager的API接口,可同时输出网络名称与密钥字段,结构更清晰,便于人工核对或脚本处理,尤其适合需保留SSID上下文的备份需求。
1、列出所有已保存连接:nmcli connection show --active,确认目标连接是否处于活动状态。
2、对指定连接显示敏感字段:sudo nmcli connection show "MyOfficeWiFi" --show-secrets | grep "802-11-wireless-security.psk"。
3、若返回值为空或含psk-flags=1,改用直接读配置文件方式(见方法二)。
4、成功时输出形如802-11-wireless-security.psk:OfficePass2026,其中OfficePass2026即为密码。
四、处理psk-flags=1标记的受限密码
当某WiFi配置中仅存在psk-flags=1而无psk=字段时,表明NetworkManager已启用安全策略限制非root用户读取密钥。此时必须绕过API层,直接解析配置文件原始内容才能获取明文。
1、确认目标配置文件路径:ls /etc/NetworkManager/system-connections/ | grep -i "目标ssid"。
2、使用sudo cat读取完整文件:sudo cat /etc/NetworkManager/system-connections/TargetSSID.nmconnection。
3、在输出中查找[wifi-security]段落,定位psk=行——即使grep -r未显示,该行仍可能存在于文件中但被其他字段遮蔽。
4、若仍不可见,说明该连接可能使用了密钥代理(keyring)或非PSK方式,此时无法通过本地文件系统直接提取明文密码。
















