原始 KB 数: 262177
总结
在排查 Kerberos 问题时,可以为事件日志启用详细的 Kerberos 日志记录。 Kerberos 日志记录可能会影响计算机性能并生成大量日志数据。 因此,它默认处于关闭状态。 仅当需要它来排查 Kerberos 问题时,才启用它。
重要
详细的 Kerberos 日志会捕捉到一些事件,这些事件表明存在“预期”错误,例如 KDC_ERR_PREAUTH_REQUIRED。 在典型操作期间发生预期错误,并不表示存在问题。 有关详细信息,请参阅 常见 Kerberos 代码的示例。
在计算机上启用 Kerberos 事件日志记录
若要启用 Kerberos 日志记录,请按照要用于记录日志数据的计算机上执行以下步骤。
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和恢复注册表的更多信息,请参见如何在 Windows 中备份和恢复注册表。
-
启动注册表编辑器,找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters。Parameters如果该条目不存在,请创建它。 -
添加以下注册表值:
- 注册表值:
LogLevel - 值类型:REG_DWORD
- 值数据:
0x1
- 注册表值:
-
关闭注册表编辑器。 该设置立即生效,系统日志开始记录 Kerberos 事件。
注意
详细的 Kerberos 日志记录可能会影响计算机的性能。 完成故障排除后,请从计算机中删除注册表项。
常见 Kerberos 代码的示例
下表列出了常见的 Kerberos 代码、这些代码可能出现的情况,以及如何处理它们。 请注意,其中一些代码在常规操作期间是预期的,不会表示出现问题。 如果看到此处列出的代码以外的代码,请联系系统或域管理员。
| Code | 上下文 | 建议 |
|---|---|---|
KDC_ERR_PREAUTH_REQUIRED |
服务器作为对客户端第一个身份验证服务器(AS)请求的响应的一部分发送的代码。 第一个 AS 请求不包括服务器所需的所有信息。 服务器的响应标识服务器所需的信息,例如支持的加密类型。 如果服务器使用 AES 加密,响应将包含要添加到密码中的盐值,然后再对密码进行哈希处理。 | 此行为是设计造成的。 忽略此代码。 |
KDC_ERR_S_BADOPTION |
当客户端的票证请求包含服务器无法响应或不支持的选项或委派标志位时,服务器发送的代码。 通常,客户端会自动发送使用不同选项或标志的另一个请求。 | 除非您正在排查委派问题,否则请忽略此错误。 |
KDC_ERR_S_PRINCIPAL_UNKNOWN |
服务器在无法识别客户端请求的服务主体名称(SPN)时发送的代码。 存在多种情况,可能会出现此问题。 通常,客户端请求不正确,或者应用程序或服务未正确配置。 出现此问题时,客户端会自动发送请求以使用 NTLM 进行身份验证。 如果服务器配置为允许 NTLM 身份验证,则客户端会进行身份验证,并且用户不会注意到此问题。 | 有关详细的故障排除信息,请参阅 Kerberos 报错 KDC_ERR_S_PRINCIPAL_UNKNOWN 或 KDC_ERR_PRINCIPAL_NOT_UNIQUE。 |
KRB_AP_ERR_MODIFIED |
指示客户端无法解密服务票证的代码。 由于多个问题可能会导致此错误,请检查相关事件。 | 有关详细的故障排除信息,请参阅 Kerberos 身份验证故障排除指南。 |