简而言之,我最近建立了一台 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 文件与其他工作服务器上的文件是否匹配之外,我真的不知道该去哪里查找。
答案1
这个问题实际上是 /etc/krb5.conf 中的一个差异,我设法忽略了 - 我的新服务器有
dns_canonicalize_hostname = false
set,这正如您所期望的那样,导致主机名未规范化为 FQDN。根据手册页,此选项默认为“true”,所以我不太确定为什么要更改它。该文件有注释
#File modified by ipa-client-install
让我相信是 IPA 注册造成的。将选项设置为“true”(或删除该行)可以解决所有问题。如果有人有更好的见解,我将暂时保留这个问题。