Gssapi+Freeipa+Python.找不到客户端主体。但它确实存在。为什么?



我先做什么:

>kinit
Default principal: bob@R1.COM
Valid starting       Expires              Service principal
18.06.2020 18:27:11  19.06.2020 18:26:26  postgres/c1.com.ru@R1.COM
18.06.2020 18:27:11  19.06.2020 18:26:26  postgres/c1s.com.com@
18.06.2020 18:26:30  19.06.2020 18:26:26  krbtgt/R1.COM@R1.COM

"postgres/c1.com.ru@R1.COM"的主体存在。

第二:

import gssapi
p_name = 'postgres/c1.com.ru@R1.COM'
name = gssapi.Name(p_name) #the principal for this service
creds = gssapi.Credentials(name=name, usage='initiate')

我收到此错误:

Traceback (most recent call last):
File "gt1.py", line 8, in <module>
creds = gssapi.Credentials(name=name, usage='initiate')
File "/usr/lib/python2.7/dist-packages/gssapi/creds.py", line 64, in __new__
store=store)
File "/usr/lib/python2.7/dist-packages/gssapi/creds.py", line 137, in acquire
mechs, usage)
File "gssapi/raw/creds.pyx", line 158, in gssapi.raw.creds.acquire_cred (gssapi/raw/creds.c:2051)
gssapi.raw.misc.GSSError: Major (851968): Unspecified GSS failure.  Minor code may provide more information, Minor (2529639053): Can't find client principal postgres/cu1s.rostelecom1.ru@ROSTELECOM1.RU in cache collection

为什么会这样?有什么想法吗?拜托,我需要帮助...

你混淆了两个不同的东西:客户端和目标主体。与klist一起列出的凭据缓存显示,当您使用postgres/c1.com.ru@R1.COM作为客户端主体时,该 ccache 中的客户端主体bob@R1.COM

您需要以下任一: - 首先使用密钥初始化 ccache 以供postgres/c1.com.ru使用(很可能使用某些密钥表( - 在 Python 应用程序中初始化凭据时使用密钥表。

对于后者,您需要传递信誉商店引用。类似于 FreeIPA 中的这个辅助代码:https://pagure.io/freeipa/blob/master/f/ipalib/install/kinit.py#_43

表示错误:gssapi.raw.misc.GSSError:主要 (851968(:未指定的 GSS 故障。 次要代码可能会提供更多信息,次要 (2529639053(:在缓存集合中找不到客户端主体 postgres/cu1s.rostelecom1.ru@ROSTELECOM1.RU

我解决了将krb5文件添加到路径/etc/下的问题,您可以尝试此方法。

相关内容

  • 没有找到相关文章

最新更新