首页/系统/Windows 运维速查/klist 查看与清理 Kerberos 票据

klist 查看与清理 Kerberos 票据

认证类怪问题先看票据:klist 列出当前会话票据与到期时间,klist purge 清票强制重新认证,klist tgt 看 TGT 细节。

Windows 运维速查系统更新于 2026-10-13

klist 是什么

klist 用来查看和清理当前会话的 Kerberos 票据缓存。域环境里绝大多数「访问共享被拒」「提示凭据无效」「改密后仍报错」都能顺着票据找到线索:票据可能还是旧密码签发的、可能对应的服务主体名不对、也可能因为时间偏差而失效。先看票据状态再动其它配置,能省下大量盲目排查。

基本信息

适用平台Windows Vista 及以后(含 10/11、Server)的 CMD 与 PowerShell
常用命令klist 列出票据、klist tgt 看 TGT 详情、klist purge 清除当前会话票据、klist sessions 列出登录会话
指定会话klist purge -li <登录会话号>,系统会话为 0x3e7(需管理员)
请求票据klist get <服务主体名> 手动申请某项服务的票据
典型时机改密后、组成员调整后、SSO 相关功能异常时
权限要求普通用户可查看与清理自身会话;系统账户票据需管理员

典型使用场景

  • 改密后仍提示凭据错误:旧票据仍在缓存中被继续使用
  • 组成员变更不生效:权限来自旧 TGT,需清除票据并重新认证
  • 单点登录异常:浏览器或客户端拿到的服务票据与预期不符
  • 服务访问失败:判定是票据申请失败(SPN 问题)还是权限不足
  • 时间偏差排障:票据起止时间异常,指向客户端与域控时钟不一致

常用示例

常用示例
klist                                  # 列出当前会话缓存的全部票据
klist tgt                              # 只看 TGT(用于判断登录会话是否正常)
klist sessions                         # 列出当前机器上的登录会话与对应票据数
klist purge                            # 清除当前会话票据,强制重新认证
klist -li 0x3e7                        # 查看系统会话(计算机账户)的票据
klist purge -li 0x3e7                  # 清除系统会话票据(需管理员,服务类问题常用)
klist get HTTP/web.corp.local          # 手动为指定服务申请票据,用于验证 SPN 是否正确
REM 多会话场景下先确认目标会话号,再针对性清理

输出字段读法

字段含义异常提示
客户端 / Client票据属于哪个账户与会话显示的账户与会话身份不符需先确认登录上下文
服务端 / Server票据对应的服务主体名显示为错误的 SPN 会导致访问被拒
票证标志 / Flags如 initial、forwardable、pre_authent缺少预期标志说明票据类型不符
加密类型票据加密算法服务端不支持该算法时握手失败
开始与结束时间票据有效期时间偏差会导致立即过期或无法申请
续订时间 / Renew票据可续订截止超过续订期需要重新登录获得 TGT
「改密后一直提示密码错误」最典型的原因就是缓存中的旧票据仍在生效:先 klist purge,再重新登录或触发一次新的认证,问题往往立刻消失。
组成员变更后需要新的 TGT 才会体现在令牌里:清除票据并重新登录(注销后登录)才会生效,仅刷新权限或等待不会自动更新已签发的票据。

配合排障的动作

配合排障的动作
klist tgt                              # 1. 查看 TGT 是否正常、是否临近过期
klist purge                            # 2. 清票据,触发重新认证
REM 3. 重新访问服务,若仍失败则检查服务端记录
REM 4. 用 setspn 核对服务主体名是否注册正确
REM setspn -L SRV01
REM 5. 核对时间偏差:客户端与域控时钟差超过约 5 分钟会导致认证失败
REM w32tm /query /status
REM w32tm /stripchart /computer:DC01 /samples:3
清除票据会让当前会话对已有服务的访问重新认证,正在执行的长事务或文件操作可能被中断。生产操作请选在业务窗口,并对服务类会话(0x3e7)尤其谨慎。

易错点

  • 改密后不做票据清理:旧票据继续生效,误判为「密码改错了」或「账号被锁」
  • 用普通 purge 清系统会话票据:清不到,系统账户票据需要指定登录会话号(如 0x3e7)
  • 在业务高峰期执行 purge:正在进行的认证会话被强制重建,可能出现短暂服务中断
  • 看到服务端字段异常却不查 SPN:票据申请失败常源于缺少或重复的服务主体名注册
  • 忽略时间偏差:客户端与域控时钟相差过大时票据无法签发,需先纠正时间同步

数据来源与参考

  • Microsoft Learn:klist
  • Microsoft Learn:Kerberos 票据排查

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌