你重置了密码,在门户里测试通过,但有一台笔记本仍然连不上。第一反应往往是再重置一次,而账号正是这样被锁定的,过期密钥也就变成了一起故障。VPN 客户端很少每次都询问密码;它问一次,然后把答案存在你并未选择的地方。找到那个地方才是全部工作,而且比再重置一次更快。

确认每个客户端实际发送的是什么

在断定密码是问题之前,先检查故障客户端上的账号、域和网关。网页门户登录可能使用与 VPN 本身不同的身份系统,因此门户登录成功并不能说明协议的认证情况。有些部署在门户接受邮箱,在隧道里却要求另一个用户名。在重置任何东西之前,先确认客户端被配置为出示哪种身份。

阅读错误文本并分类。证书失败、挑战过期或不受支持的加密算法都不是过期密码,把它们当作过期密码只会造成毫无效果的重置循环。如果服务有锁定策略,在两次或三次失败尝试后就停下来,并在继续之前确认账号状态。

逐一列举存储位置,而不是猜测

有四个存储位置会保存 VPN 密钥,下表把每个位置对应到值存活的地方以及清除它的真正含义。原生操作系统配置文件把密钥保存在平台的凭据存储中,因此该条目可能比写入它的应用活得更久。客户端配置文件把值保存在该客户端读取的位置,或内联,或在被引用的认证文件中,所以编辑另一个文件不会改变任何东西。浏览器中的门户 Cookie 和由策略下发的凭据存在于设备并不真正拥有的地方,这决定了谁有权更改它们。

StoreWhere it livesHow to clear it
Native OS profileWindows Credentials, NetworkManager secretsforget or edit the connection
Client configuration filea referenced auth file or inline valueedit the file the client actually reads
Browser sessioncookie for the portal SSOsign out of the portal, not just close the tab
Managed policydelivered by the management servicechange it in the manager, not on the device

按固定顺序检查:先看操作系统凭据存储,因为客户端默认查询它;再看客户端自己的保险库或配置文件;然后是浏览器会话;最后是能覆盖前三者的策略。顺序很重要,因为后面的存储可能悄悄恢复前面的值,你会在故障依旧时修错了层。写清楚你改了哪个存储,因为这条记录会让下一次重置变成两分钟的活,而不是一下午。

查看客户端实际使用的存储

删除之前先读取,这样你才知道哪条记录属于 VPN。下面的命令只列出和查看,不执行删除,因此诊断可以回退。

# Windows credential store
cmdkey /list | findstr /i vpn
# Windows native profile
Get-VpnConnection -Name "Work" | Select-Object -ExpandProperty Guid
# macOS Keychain
security find-generic-password -s "Company VPN" -g
# Linux NetworkManager
nmcli -s connection show "Work" | grep -i password

在 Linux 上, -s 会显示 NetworkManager 平时隐藏的密钥。在 macOS 上,Keychain 命令会打印已存储的条目,因此请把终端回滚内容视为敏感信息。如果故障客户端是自带保险库的第三方应用,系统存储会看起来正确,而应用保留着自己的副本,更改就应该在那个保险库里进行。

处理离线的设备

那些无人值守时唤醒并重新连接的笔记本 只要副本还在,就会继续出示旧密钥。安排更新时,要让这些设备在一窝蜂重试之前被纠正,并考虑在受影响的配置上关闭自动连接,直到每台设备都走完受支持的流程。

对于受管理的设备群,要在定义策略的地方更改值。在凭据由中心统一配置的设备上编辑本地副本,充其量只是临时的;下一次策略刷新会恢复旧值,故障会毫无解释地回来。

用一次受控尝试来验证

更新目标条目,重新连接一次,并确认隧道能到达某个具体位置。一次受控尝试如果失败,会给出可用的错误;二十次则会带来被锁定的账号和一个谜团。如果存储修正后客户端仍然失败,就捕获一条不含密钥的错误并停下。把这条错误和设备名放在一起,下一班就能从你停下的地方开始。

更改密码不会触及证书、会话令牌或 MFA 注册,那些是各自拥有生命周期的独立身份。续期的证书不会因为轮换密码而被修好,重置之前签发的令牌也可能仍然有效。最后写下是哪个存储保存了过期值,因为下一次重置还会撞上同一份清单。

相关文章