如何重置FreeIPA服务器和客户端的Keytab

我遵循标准文档分别在主机的SRV和CLT上安装FreeIPA服务器和客户端。 然后,我使用Web UI将用户“X”添加到FreeIPA。 现在,当我尝试将SSH作为X到CLT,我得到一个'Permission denied, please try again.' 错误。 我检查客户端上的'/ var / log / messages',看到这个 – '[sssd[krb5_child[3277]]]: Decrypt integrity check failed'

我多次重置密码,但这并没有解决问题。 然后我碰到这些 –

  • http://www.cmf.nrl.navy.mil/krb/kerberos-faq.html#badpass
  • https://groups.google.com/forum/#!topic/comp.protocols.kerberos/g-s76WeWyUU

听起来像从SRV和CLT中删除'/etc/krb5.keytab'文件,然后重新创build它们将解决问题。

  1. 我应该如何去做这个keytab重置?
  2. 我应该先从FreeIPA库存中提供/删除CLT吗?

你使用哪种SSHauthentication方式? 您是在input密码还是尝试使用基于票证的Kerberos身份validation(gssapi-with-mic或gssapi-keyex)?

“解密完整性检查失败”消息可能来自两个来源。 如果你给它一个错误的密码(你的密码与KDC中你的主体的密钥不匹配),你会得到。 如果您的密码正常,您也可以得到它,但是服务器上的密钥表已经过期; 这将同时发生票证和密码validation(因为使用密码,服务器在执行kinit之后为其自己的主机主体获取票证,以validationKDC)。

听起来像从SRV和CLT中删除'/etc/krb5.keytab'文件,然后重新创build它们将解决问题。

客户端的密钥表是不相关的; 这不是这种情况的一部分。 这里可能的问题是服务器上的密钥表与KDC(Kerberos身份validation服务器,即“密钥分发中心”,它是FreeIPA的一部分)不同步。 使用Kerberos,系统中的所有身份(或“主体”)都有与KDC共享的密钥。 用户的密钥是从他的密码生成的。 像sshd这样的软件服务的密钥是随机生成的,并存储在一个名为keytab的文件(用于“密钥表”)中,以便服务可以访问它们。 这听起来像是在KDC中更改了SSH主体的密钥,但密钥表尚未更新为匹配。 您的主要名称是user @ REALM格式。 SSH服务的主体名称的格式为host / hostname @REALM。 尝试:

 $ ipa-getkeytab -s <FreeIPA server> -p host/<hostname>@REALM -k <keytab file>. 

…将SSH服务主体的当前密钥提取到新的密钥表中。 您可以使用klist -ek <keytab>来查看旧的和新的klist -ek <keytab>的内容。 如果您的密钥不匹配,它应该显示为具有不同密钥版本号(或“kvno”)的相同主体的密钥。 你可能会看到类似于:

 # look at the system keytab $ sudo klist -ek KVNO Principal ---- -------------------------------------------------------------------------- 1 host/[email protected] (AES-256 CTS mode with 96-bit SHA-1 HMAC) # look at the new keytab $ klist -ek <new keytab> KVNO Principal ---- -------------------------------------------------------------------------- 2 host/[email protected] (AES-256 CTS mode with 96-bit SHA-1 HMAC) 

我也解决了这个问题。 因为ccache包含了以前安装的IPA服务器的旧密钥,只需要删除/var/lib/sss/db/ccache_*文件

门票中的更多细节: https : //fedorahosted.org/sssd/ticket/2781

在客户端上,我删除了/etc/krb5.keytab在服务器上,我删除了主机ipa host-del host.example.com

我卸载ipa客户端软件。

我重新安装ipa客户端

但是,客户端不工作。

A 最后,我不得不重新启动ipa-server ipactl,然后…

客户工作正常。 我猜想kdc服务器o类似的东西在caching中的客户端密钥。

问候。