FlASK_Kerberos Krb错误:('未在密钥表中找到主体,-1)

2022-04-19 00:00:00 python flask kerberos

问题描述

我正在尝试将Kerberos与FASK/PYTHON集成。 我已按照docs.

中的步骤操作

每当我尝试获取主体详细信息时,都会收到提到的错误。

principal = kerberos.getServerPrincipalDetails('http', '10.113.41.11')

这是我的密钥表详细信息:

Keytab name: FILE:crme1.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   1 04/26/2019 12:25:50 crme/master@10.113.41.11
   1 04/26/2019 12:25:50 crme/master@10.113.41.11

Kerberos

问题正如错误消息所述-您已经告诉推荐答案库从密钥表中获取服务主体,但密钥表不包含该服务主体的条目。

对于您的示例代码,您的密钥表应该包含一个名为"HTTP/10.113.41.11"的服务主体。(请注意,我不建议将IP地址用于这类事情,因为阅读它们要困难得多,但我不知道有什么理由它不起作用。)

您需要在KDC上为HTTP/10.113.41.11生成一个密钥表,然后让这个密钥表放在flask主机上。

当这样的错误看起来不清楚时,通常是因为您对整个Kerberos情况的心理模型缺少了一些东西。是否确实了解什么是服务原则、什么是密钥表以及工作流在身份验证期间是如何运行的?

相关文章