可通过macOS终端使用security命令从钥匙串提取Wi-Fi明文密码:一、直接执行security find-generic-password -wa "SSID";二、指定钥匙串路径精确检索;三、运行shell脚本批量导出所有已存Wi-Fi密码。

如果您已连接某个Wi-Fi网络,但无法回忆密码,且希望绕过图形界面快速获取明文密码,则可通过macOS终端直接调用系统安全框架读取存储在钥匙串中的凭证。以下是三种经验证有效的终端相关方法:
一、使用security命令直接输出指定Wi-Fi密码
该命令利用macOS内置的security工具,从“登录”或“系统”钥匙串中精准检索目标SSID对应的AirPort网络密码记录,无需打开任何GUI应用,响应即时且结果明确。
1、按下Command + 空格键启动Spotlight搜索,输入“终端”并回车打开应用。
2、在终端中输入以下命令(请将"YourWiFiName"替换为当前Wi-Fi的实际SSID,**英文双引号必须保留,空格不可省略**):
security find-generic-password -wa "YourWiFiName"
3、按回车执行,系统弹出身份验证窗口,要求输入当前账户的管理员密码(输入过程无可见字符反馈,属正常安全机制)。
4、验证通过后,终端将直接输出格式为password: "abc123xyz"的行,引号内即为明文密码。
二、使用security命令配合钥匙串路径精确指定来源
当默认命令未返回结果时,可能因密码实际存储于“登录”钥匙串而非“系统”钥匙串。此方法显式指定钥匙串路径,避免因版本差异或配置导致的检索失败。
1、在终端中输入以下命令(同样需将"YourWiFiName"替换为实际SSID):
security find-generic-password -D "AirPort network password" -s "YourWiFiName" -w -t "aapl" -l "AirPort network password" -g login.keychain-db
2、按回车执行,系统提示输入管理员密码,正确输入后完成身份验证。
3、终端立即输出纯文本密码,格式为abc123xyz(无额外引号或前缀)。
三、通过shell脚本批量列出所有已知Wi-Fi网络及其密码
该方法适用于需一次性查看多个历史连接网络密码的场景,脚本自动遍历钥匙串中全部AirPort类型密码条目,并逐条触发身份验证与解密,结果以清晰列表呈现。
1、在终端中输入以下完整命令(复制粘贴即可,无需修改):
for ssid in $(security find-internet-password -s "" -g 2>/dev/null | grep "airPort" | sed -n 's/.*\"\(.*\)\".*/\1/p' | sort -u); do echo -n "$ssid: "; security find-generic-password -wa "$ssid" 2>/dev/null; done
2、按回车执行,系统对每个SSID依次弹出身份验证窗口,需逐次输入管理员密码完成解密。
3、每行输出格式为MyHomeWiFi: abc123xyz,左侧为SSID,右侧为对应明文密码。


















