如何在用户计算机上没有krb5.keytab的情况下获取GSSAPI凭据?

时间:2018-01-26 07:56:09

标签: python kerberos gssapi

尝试在我的计算机上获取GSSAPI凭据时出现以下错误:

server_creds = gssapi.Credentials(usage='init', name=server_name)
GSSError: Major (851968): Unspecified GSS failure.  Minor code may provide more information, Minor (2): Key table file '/etc/krb5.keytab' not found

以下是我在Kerberos keytab介绍中已经发现的内容:

  

密钥表是包含Kerberos主体和加密密钥对的文件(这些密钥是从Kerberos密码派生的)。您可以使用此文件登录Kerberos,而不会提示您输入密码。密钥表文件最常见的个人用途是允许脚本在没有人工交互的情况下对Kerberos进行身份验证,或者将密码存储在纯文本文件中。

嗯,即使我的程序实际上需要人工干预才能进行身份验证,这对我来说完全可以接受。有没有办法在没有/etc/krb5.keytab文件的情况下在最终用户系统上使用Kerberos客户端,即使这意味着在每次认证时要求密码?

1 个答案:

答案 0 :(得分:0)

即使这意味着在每次认证时要求密码,也没有任何意义。"这违背了Kerberos的目的。

您可以执行以下操作:

  1. 您的用户" kinit"在shell或类似的通过登录管理器
  2. 你有gss_acquire_cred_with_password() for Python
  3. 的绑定

    评估两者