Flask\u kerberos KrbError:('Principal not found in keytab',1)

2024-06-16 11:40:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将kerberos与flask/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

Tags: namemasterprincipalhttpflaskdocs错误密钥
1条回答
网友
1楼 · 发布于 2024-06-16 11:40:55

问题与错误消息所述完全相同—您已经告诉kerberos库从keytab获取服务主体,但是keytab不包含该服务主体的条目。你知道吗

对于示例代码,keytab应该包含一个名为“HTTP/10.113.41.11”的服务主体。(注意,我不推荐这种类型的IP地址,因为读取它们要困难得多,但我不知道有什么原因它不起作用。)

您需要在KDC上为HTTP/10.113.41.11生成一个keytab,然后将这个keytab放到flask主机上。你知道吗

当这样的错误看起来不清楚时,通常是因为你对整个Kerberos图像的心理模型缺少了一些东西。你确定你了解什么是服务princiapl,什么是keytab,以及在身份验证期间工作流是如何进行的吗?你知道吗

相关问题 更多 >