哪个钥匙串项目让你的 VPN 登录一直停留在旧状态?
被拒绝的登录和过期证书需要不同的修复方法。先读提示,找到拥有它的那个项目,然后重新连接一次。
看着 Mac 给出旧密码、看着登录失败,最显而易见的下一步就变成了彻底重置钥匙串。那种修复代价很高,而且通常针对错误项目。过期的密码、过期的证书和被锁定的账户都会造成拒绝,而其中只有一个存在于你能删除的钥匙串条目里。在删除任何东西之前,先读提示。
三种失败,三种不同的删除
账户密码是客户端发给网关的秘密,删除它会迫使用户重新输入。私钥口令用于解锁密钥文件,因此删除口令条目会让密钥保持完整,但在有人重新输入口令之前,密钥将无法使用。客户端证书带有有效期窗口,删除再多密码也无法让它续期。这是三个各有其主对象,而客户端的错误文本会指明是哪一个失败了。
这种比较并非纸上谈兵,因为选错一个就会耗费一轮支持,并让用户以为修复是随机的。证书过期错误会挺过每一次密码重置,而反复出现的密码条目可能属于 VPN 以外的其他服务。先把错误与对象对上,再决定是删除、重新输入还是续期。
重置整个钥匙串会移除邮件、浏览器和其他服务的凭据。这是带有自身恢复成本的最后手段,而不是 VPN 故障排查步骤。
先读提示和账户,再动某个项目
先读确切的错误,再读客户端正在使用哪个账户。服务商网站登录与其网关凭据常常是不同的账户,客户端可能保存了一个,而用户重置的却是另一个。检查客户端设置中显示的配置文件名称和用户名。如果这些与用户所认为的不一致,那么保存的密码并不是过期,而是属于别的东西。
被拒绝的证书通常报告过期或不受信任的证书链,而不是身份验证失败,而被锁定的账户则报告策略或锁定信息。这些信息来自不同的层,因此措辞是区分它们最快的方式。把信息复制到工单里,因为它是下一次重试之后唯一还会留下的证据。
找到真正拥有秘密的那个项目
当客户端自带忘记密码控件时,先从它开始,因为那是受支持的路径,而且它会指向正确的条目。如果你必须打开 Keychain Access,请按客户端配置里的服务名称搜索,而不是按 VPN 这个词搜索,后者会匹配到太多东西。删除前先检查选中的项目:它的账户、类型和修改日期都应当与故事吻合。多年前最后一次修改的项目,很可能不是客户端刚刚用过的那个。
在某个视图中不存在,并不能证明没有存储任何东西。项目可以存在于登录钥匙串、iCloud 钥匙串或受管理的描述文件里,每一个都是具有不同访问规则的不同容器。在断定秘密缺失之前,先检查客户端自己的列表和系统列表。
对于受管理的 Mac,请使用管理员的移除流程。绕过描述文件的限制去删除,会让设备处于一种会被下一次策略检查撤销的状态。
重新连接一次,然后停下
移除或更新项目之后,通过受支持的流程做一次登录尝试。一次尝试就能回答问题,而五次尝试会用账户锁定来回答。如果拒绝的措辞变了,说明删除生效了,剩下的失败位于另一层。如果它一模一样地重复,就恢复你移除的东西,回到提示。
移除本地项目不会影响服务端的凭据。当秘密可能已被别人看到时,把它当作轮换任务处理,并使用服务商的替换密码或替换密钥流程,因为钥匙串里的副本只是它存在过的几个地方之一。本地清理与远程吊销是两件不同的事,各有其主。
比较每种修复能承诺什么
删除密码条目只承诺客户端会再次索要密码,仅此而已。替换证书承诺一个新的有效期窗口,但前提是签发服务可达且描述文件已更新。轮换密码或密钥承诺旧秘密不再有效,而当担心的是泄露时,这是唯一有帮助的修复。选择你需要的承诺,然后执行那个操作。
把结果写进工单:删除了哪个项目、轮换了哪个凭据、哪次登录成功了。下一个有同样症状的人需要的是这张对应表,而不是一个重建钥匙串的故事。Apple 的 Keychain Access 指南介绍了这些容器及其访问规则,而这正是人们常常靠猜的部分。