macOS终端可通过security和networksetup命令分别管理Wi-Fi密码与网络配置:前者导出或删除钥匙串中的AirPort密码条目,后者清除系统网络偏好设置,二者需配合使用才能彻底清理。
macos 终端可直接调用系统安全框架管理 wi-fi 密码,无需第三方工具。关键在于区分“导出密码”和“清理配置”两类操作——前者读取已存凭证,后者删除网络连接记录与钥匙串条目。两者目的不同,不能互相替代。
一、终端导出所有已知 Wi-Fi 密码(需逐次授权)
该方法遍历钥匙串中全部 AirPort 类型密码条目,自动提取 SSID 与对应明文密码,适合一次性核对多个历史网络。执行时系统会对每个网络单独弹出身份验证窗口:
- 打开终端,粘贴并运行以下命令(复制整行,直接回车):
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 - 每遇到一个网络,系统弹出管理员密码输入框(无字符反馈,输完直接回车)
- 成功后输出形如 MyHomeWiFi: password: "abcd1234" 的结果
- 若某网络未显示密码,说明它未以标准 AirPort 条目形式保存,需手动在「钥匙串访问」中查找
二、精准删除指定 Wi-Fi 的系统配置与密码
仅靠“系统设置→Wi-Fi→已知网络→移除”可能残留钥匙串条目。终端可同步清除两处记录,确保彻底遗忘:
- 先列出所有已保存网络:
/usr/sbin/networksetup -listallpreferredwirelessnetworks Wi-Fi - 删除网络连接配置(断开自动重连):
/usr/sbin/networksetup -removepreferredwirelessnetwork Wi-Fi "YourWiFiName"
(注意:SSID 含空格或特殊字符时必须加英文双引号) - 再清理钥匙串中的密码凭证(避免后续被其他方式读取):
security find-generic-password -D "AirPort network password" -s "YourWiFiName" -w -t "aapl" -l "AirPort network password" login.keychain-db 2>/dev/null || echo "未找到对应密码条目"
该命令不输出密码,仅用于确认是否存在;如需删除,改用:
security delete-generic-password -s "YourWiFiName" -D "AirPort network password" login.keychain-db
三、安全清理后的验证要点
执行删除后建议快速验证是否真正生效:
- 重新打开「系统设置→Wi-Fi→高级→已知网络」,确认目标网络已消失
- 在「钥匙串访问」中搜索该 SSID,应无任何类型为 “AirPort 网络密码” 或 “密码” 的条目
- 尝试手动连接该网络:系统会提示输入密码,而非自动填充,说明清理完成
- 若启用 iCloud 钥匙串,检查 iPhone 的「设置→无线局域网」中该网络右侧 ⓘ 图标内是否仍显示“共享密码”,如有则需在 iOS 端也执行“忽略此网络”
终端管理 Wi-Fi 密码的本质是分别操作两个独立模块:networksetup 控制网络服务偏好,security 工具读写钥匙串。清楚这个分工,就能避免“删了网络却还能看到密码”或“清了钥匙串却仍自动连接”的困惑。


















