为了简短起见,我最近建立了一个 RHEL 7 服务器并将其注册到 FreeIPA。所有其他注册的服务器都可以仅使用主机名就可以毫无问题地相互 SSH,使用 gssapi-with-mic 进行身份验证,但这似乎配置错误,并回退到密码身份验证。具体来说,它似乎是在尝试使用短主机名与远程服务器的 FQDN,除非我明确 ssh 到 FQDN。
如果我使用 FQDN SSH,即
ssh remote-hostname.domain.com
一切正常。如果我不这样做,即
ssh remote-hostname
系统提示我输入密码。启用 ssh 调试会提供以下内容:
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Server host/[email protected] not found in Kerberos database
nslookup 正确地给出了服务器的 FQDN:
[kevin@local-hostname ~]$ nslookup remote-hostname
Server: x.x.x.x
Address: x.x.x.x#53
Name: remote-hostname.domain.com
Address: x.x.x.x
本地服务器的域似乎设置正确:
[kevin@local-hostname ~]$ hostname
local-hostname
[kevin@local-hostname ~]$ hostname -f
local-hostname.domain.com
我有点难为从这里去哪里。有人能告诉我为什么 sshing 到远程主机名可能不起作用吗?不幸的是,我是 Kerberos 的新手,除了验证新服务器上的 /etc/krb5.conf 文件是否与其他工作服务器上的文件匹配之外,我真的不知道去哪里找。
这个问题实际上是我设法忽略的 /etc/krb5.conf 的差异 - 我的新服务器有
设置,这 - 正如您所期望的那样 - 导致主机名没有被规范化为 FQDN。根据手册页,此选项默认为“true”,因此我不确定为什么要更改它。该文件有评论
让我相信是 IPA 注册做到了。将选项设置为“true”(或删除该行)可以解决所有问题。如果有人有更好的见解,我会把这个问题留一点。