![电脑(此处为 Ubuntu 14.04 LTS)将 WiFi 密码存储在哪里?](https://linux22.com/image/1143943/%E7%94%B5%E8%84%91%EF%BC%88%E6%AD%A4%E5%A4%84%E4%B8%BA%20Ubuntu%2014.04%20LTS%EF%BC%89%E5%B0%86%20WiFi%20%E5%AF%86%E7%A0%81%E5%AD%98%E5%82%A8%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
我之所以问这个问题,是因为我刚刚目睹了我的笔记本电脑主板的损坏,但幸运的是,我身边还有另一台几乎一模一样的笔记本电脑(相同型号),只是配备了一个很小的古老硬盘,并且没有太多的内存(前几天已经被洗劫一空)。
所以我所做的就是将硬盘和内存从我那台烧坏的笔记本电脑移到另一台闲置的笔记本电脑上,然后打开它。一切正常,但我注意到它不知道我最近使用的 WLAN 的 WiFi 密码。我一直以为这些密码存储在硬盘上,但显然不是。
那么它们存储在哪里?在 WiFi 子系统/芯片内吗?
编辑:谢谢,我研究了建议的重复问题。但它实际上并没有回答密码存储在哪里。我了解到它们存储在下面/etc/NetworkManager/system-connections
,但显然这个安装最终不会引用硬盘,因为移动它后密码就丢失了。所以问题是它实际上存储在哪里
答案1
无线密码确实存储在硬盘上,即所谓的“连接配置文件”。连接配置文件基本上包含系统连接到每个网络所需的一切。但是,它们还包含一个字段来识别哪个设备该个人资料属于:
当系统尝试使用该 WiFi 网络的配置文件建立连接时,它会注意到设备 ID 不匹配,因此跳过该配置文件。由于未发现有效配置文件,系统假定该 WiFi 网络是新的并且之前未使用过。因此,该网络的任何设置都不存在,您必须重新输入密码。
如果您不想重新创建新的无线配置文件,您可以随时使用连接编辑器(Edit Connections
位于 Wi-Fi 图标下)更改设备,这样就可以将该配置文件用于新设备。从这里,您还可以为网络设置其他参数,以及在需要时以纯文本形式提取无线密码。
如果您更具冒险精神并想要(滥用)使用命令行,则连接配置文件全部存储在中/etc/NetworkManager/system-connections
,其中包含(大致)与 GUI 相同的信息:
[connection]
id=[Human-Friendly Connection Name]
uuid=[Connection ID]
type=wifi
permissions=user:kazwolfe:;
secondaries=
timestamp=1482791037
[wifi]
mac-address=[Device MAC]
mac-address-blacklist=
mac-address-randomization=0
mode=infrastructure
seen-bssids=[List of known BSSIDs]
ssid=[Network SSID]
[wifi-security]
group=
key-mgmt=wpa-psk
pairwise=
proto=
psk=[Network Password]
[ipv4]
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=2
method=auto
请注意,这些文件归以下人员所有,root
因为它们包含敏感信息,因此sudo
需要能够访问或编辑它们。另请注意,虽然此路径中的文件名是通常SSID,这不是硬性规定。因此,您可能需要四处寻找才能找到您的网络。
答案2
要通过命令行查找已保存的 wifi 密码,请按照以下步骤操作:登录 Ubuntu 并打开“终端”并输入以下命令。
$ cd /etc/NetworkManager/system-connections/
$ ls -a
现在您将获得保存在电脑上的 wifi 网络的名称。现在输入以下命令以及您要查找密码的 wifi 网络的名称。您可以在“psk”=“PASSWORD”中找到您的密码。
$ sudo cat WIFI_SSID_Name
来源:http://www.idiotinside.com/2015/02/16/how-to-find-saved-wifi-password-via-command-line-in-ubuntu/