如何在 Windows 上找出我的 Kerberos 主体?

如何在 Windows 上找出我的 Kerberos 主体?

在配置了 Kerberos 的 Unix 系统上,我会使用klist...

如何在 Windows 上查询他的 Kerberos 主体?

(使用 Active Directory,而不是 MIT 实现。)

答案1

也可以使用klist。您的委托人姓名位于每张票的“客户:”字段中。

H:\> klist

Current LogonId is 0:0x494539

Cached Tickets: (2)

#0>     Client: fred @ AD.EXAMPLE.COM
        Server: krbtgt/AD.EXAMPLE.COM @ AD.EXAMPLE.COM
        KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
        Ticket Flags 0x40e00000 -> forwardable renewable initial pre_authent
        Start Time: 11/11/2020 17:49:42 (local)
        End Time:   11/12/2020 3:49:42 (local)
        Renew Time: 11/18/2020 17:49:42 (local)
        Session Key Type: AES-256-CTS-HMAC-SHA1-96
        Cache Flags: 0x1 -> PRIMARY
        Kdc Called: dc1.ad.example.com

#1>     Client: fred @ AD.EXAMPLE.COM
        Server: ldap/dc1.ad.example.com @ AD.EXAMPLE.COM
        ...

请注意,Kerberos 主体名称与 Active Directory UPN(您可以使用 查看)不同whoami /upn。一个 AD 域始终只有一个 Kerberos 领域,而其用户可以有多个 UPN 后缀。

此命令在所有最新的 Windows 版本中都可用 - 自 Windows Vista 或 Win7 起内置(大约),但它也可以作为“Server 2003 资源工具包”的一部分下载到 XP 和 Server 2003。旧版本需要子命令,例如klist ticketsklist tgt

安装 Java 可能会覆盖该命令,因为 Java 有自己的 Kerberos 实现(独立于 MIT Krb5)。正确的实现位于 中\Windows\System32

C:\Users> where klist

C:\Program Files\AdoptOpenJDK\jre-14.0.2.12-hotspot\bin\klist.exe
C:\Windows\System32\klist.exe

相关内容