简而言之,我最近建立了一个 RHEL 7 服务器并将其注册到 FreeIPA。所有其他注册的服务器都可以仅使用主机名通过 SSH 相互连接,而不会出现任何问题,使用 gssapi-with-mic 进行身份验证,但这个服务器似乎配置错误,并回退到密码身份验证。具体来说,它似乎试图使用短主机名与远程服务器的 FQDN,除非我明确地 ssh 到 FQDN。
如果我使用 FQDN ssh,即
ssh remote-hostname.domain.com
Run Code Online (Sandbox Code Playgroud)
一切正常。如果我不这样做,即
ssh remote-hostname
Run Code Online (Sandbox Code Playgroud)
系统提示我输入密码。启用 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/remote-hostname@REALM.COM not found in Kerberos database
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
本地服务器的域似乎设置正确:
[kevin@local-hostname ~]$ hostname
local-hostname
[kevin@local-hostname ~]$ hostname -f
local-hostname.domain.com
Run Code Online (Sandbox Code Playgroud)
我对从这里去哪里有点困惑。有人能告诉我为什么 SSH 到远程主机名可能不起作用吗?不幸的是,我是 Kerberos 的新手,除了验证新服务器上的 /etc/krb5.conf 文件是否与其他工作服务器上的文件相匹配之外,我真的不知道在哪里查看。
这个问题实际上是我设法忽略的 /etc/krb5.conf 中的一个差异 - 我的新服务器有
dns_canonicalize_hostname = false
Run Code Online (Sandbox Code Playgroud)
设置,这 - 正如您所期望的 - 导致主机名没有被规范化为 FQDN。根据手册页,此选项默认为“true”,因此我不确定为什么要更改它。文件有注释
#File modified by ipa-client-install
Run Code Online (Sandbox Code Playgroud)
让我相信是 IPA 注册做到了。将选项设置为“true”(或删除该行)可以解决所有问题。如果有人有更好的见解,我会暂时保留这个问题。
归档时间: |
|
查看次数: |
3935 次 |
最近记录: |