关于 macOS keychain 误删与恢复的二三事

本文讲述了作者在使用macOS时误删Keychain并成功恢复的经历。通过Time Machine备份恢复了Keychain的系统和登录密码,同时探讨了Keychain中不同类型的密码文件,包括系统密码、应用程序密码以及浏览器相关密码。最后强调了启用iCloud Keychain同步以及定期备份的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

Mac 为主力机的我最习以为常的事情就是使用 keychain access 来记录各种密码,比如软件的密码 备份硬盘 印象笔记 ,网页的密码 Safari 密码管理。

可是最近在捣鼓 iOS 越狱开发,需要生成临时证书 Apple Development,随后开始了作死之旅,由于第一次生成的证书不过关,按照给的操作提示,我需要删除证书重新添加。然后我手抽不知道是什么误操作把 keychain 部分清了,没错,就是清了

开始是触摸解锁用不了,我还以为是电脑卡了,后来用 Safari 打开密码管理也用不了,等手动输入密码后发现里面 空空如也
在这里插入图片描述
瞬间整个人都不好了,心如死灰,那可是我赖以生存的为数不多的家当啊!
可是人活着总是要干饭的,没办法,尝试挽救

挽救

怎么才能把密码全部找回呢,刚开始上网查找之后
发现 keychain 存放的两个位置分别是 /Library/Keychains//User/$username/Library/Keychains/,凭借经验直接猜测分别对应系统和登陆(用户)选项
在这里插入图片描述
因为经常备份,知道 Mac 的时间机器功能,去寻找最近未被修改的两个 Keychain 文件夹,直接群体恢复,第一次没用,然后我又试了第二次,莫名其妙的好了

喜大普奔~!

思考

怕以后还是不小心脑抽删 Keychain,决定找一下更细一点的对应文件

打开 keychain access 软件,翻能不能找到对应存储位置,怎么翻都翻不到
结果随手往 钥匙串 几个选项上一放,DING!它出现了!
在这里插入图片描述
在这里插入图片描述
这下知道了,对应密码存放文件即为login.keychain-dbSystem.keychain
然后我们开始观察这两个文件所存放的内容,由于我们主要用来存放密码,暂时不太考虑证书之类的东西,手动调整种类为密码
在这里插入图片描述
首先是系统密码,我们可以看到里面存放的都是 Wifi 密码,那就下一个登陆密码,由于登陆密码是关联用户账户的,所以我们可以看到很多都是关于用户账户功能的密码,比如 身份识别认证密码重置密钥设备识别,这有可能会涉及到用户登陆的
在这里插入图片描述
当然这里面还有的就是设备上安装的软件密码,比如印象笔记Reveal2Docker
在这里插入图片描述
最后我们直接查找 Safari 相关,然后看到了比较有趣的名称,继续开始猜测

  • Safari Forms AutoFill Encryption Key:即与自动填充密码相关的密钥
  • Safari History Key:与历史记录相关的密钥
  • Safari Session State Key:与网站链接 Session 状态的密钥
  • “Safari 浏览器”WebCrypto 主密钥:网页加密所用密钥
    在这里插入图片描述
    为了印证猜测,去 Safari 存放数据的地方翻一翻,路径:/User/$username/Library/Safari/
    随机选一个文件按一下 Space 快速预览进行判断,比如AutomaticBookmarksBackup.html,就可以看出是书签,可是跟我目前的书签列表有些许出入

    暂且不管,继续看:
  • AutoFillCorrections.db CloudAutoFillCorrections.db:猜这里就是存放自动填充密码的地方
  • Databases:对应 WebCrypto 加密的 IndexedDB
  • History.db:对应 Safari History key
  • LastSession.plist:对应目前 Safari 所开的标签页
  • LocalStorage:对应 Safari 打开过的网页
  • PerSitePreferences.db:对应每个网站的对应偏好设置

其他的 .plist 文件就暂时不说了

结论

Mac 的时间机器功能真是太棒了,使劲吹~!

为了防止以后这种浏览器密码再次被删修复困难,注意:

  1. 打开 Apple ID 使钥匙串使用 iCloud,这样应该只要一同步就可以恢复
    在这里插入图片描述
  2. 多备份,最好每周一次
  3. 就别没事修改钥匙串了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值