无法在 OSX 10.7 上使用 SSH Kerberos 身份验证连接到我的服务器

5 ssh kerberos osx-lion

我刚刚将我的 Mac OS 升级到 10.7 Lion。它以前运作良好。但是,kinit现在只能正常工作,我无法通过 ssh 连接到我的服务器。

重新安装“Mac OS X Kerberos Extras”后,情况并没有好转。

我的命令:

ssh root@10.3.18.211 -v

......

debug1: Authentications that can continue: gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1:  Miscellaneous failure (see text)
UNKNOWN_SERVER while looking up 'host/10.3.18.211@3.18.211' (cached result, timeout in 1200 sec)

debug1:  An invalid name was supplied
unknown mech-code 0 for mech 1 2 752 43 14 2

debug1:  Miscellaneous failure (see text)
unknown mech-code 0 for mech 1 3 6 1 5 5 14

debug1: Authentications that can continue: gssapi-with-mic,password
debug1:  An unsupported mechanism was requested
unknown mech-code 0 for mech 1 3 5 1 5 2 7

debug1:  Miscellaneous failure (see text)
unknown mech-code 0 for mech 1 3 6 1 5 2 5

debug1: Next authentication method: password
root@10.3.18.211's password:
Run Code Online (Sandbox Code Playgroud)

小智 7

您的~/.ssh/config文件或/etc/ssh_config? 中是否有以下两行:

GSSAPIAuthentication yes
GSSAPITrustDNS yes
Run Code Online (Sandbox Code Playgroud)

第一个需要启用 GSSAPI (Kerberos) 身份验证,第二个需要获取 ssh 以通过 DNS 规范化主机名并使用规范名称获取主机服务票证。如果没有第二个,ssh 将使用在命令行中输入的确切主机名或 IP 地址来尝试获取主机服务票证,在这种情况下它会失败:

UNKNOWN_SERVER 查找 'host/10.3.18.211@3.18.211'

主体的实际名称通常是“host/hostname.domain@REALM”而不是 IP 地址。当然,您需要正确的反向 DNS 设置才能使其正常工作。

OS X 似乎也无法检测到要使用的正确域名,而是尝试使用 IP 地址(“@3.18.211”部分)。您是否为您的领域和 KDC 设置了正确的 DNS TXT 和 SRV 记录?如果不是,您将需要在/etc/krb5.conf.