补充说明
klist 属于 MIT Kerberos 客户端工具集(Debian/Ubuntu 包名 krb5-user,RHEL 为 krb5-workstation),用于查看当前用户凭据缓存中的 TGT 和服务票据,是排查 Kerberos 认证问题的第一步。
凭据缓存默认位于 /tmp/krb5cc_<uid>(FILE 类型),也可能使用 KEYRING、KCM 等类型。klist 会显示缓存类型、默认主体(principal)、票据有效期、服务名和加密类型。
如果输出为空或提示找不到缓存,通常说明还没执行 kinit,或者 KRB5CCNAME 指向了错误的位置。kdestroy 可清除缓存,kinit 重新获取 TGT。
语法
klist [-e] [-l] [-A] [-s] [-c 缓存] [--] [缓存]
选项
-l:显示票据标志位(如初始票据、可转发)-e:显示票据使用的加密类型-A:显示所有缓存(包括残留的)-s:静默模式,不输出票据内容,仅用退出码表示缓存是否存在-c <缓存>:指定缓存名或路径,等价于设置KRB5CCNAME-k:列出 keytab 中的密钥(配合-t显示时间戳)
实例
# 查看当前默认缓存中的票据
klist
# 显示票据标志和加密类型
klist -e -l
# 检查默认缓存是否有效,用于脚本判断
klist -s && echo "已认证" || echo "需要 kinit"
# 查看指定缓存文件
klist -c /tmp/krb5cc_1000
# 查看 keytab 中的主体及 kvno
klist -k -t /etc/krb5.keytab