问题描述
我想使用 ldapsearch 对来自 Linux 实例(Amazon Linux 操作系统)的远程 Windows 服务器进行身份验证测试。 Kerberos 绑定是通过从包 cyrus-sasl-gssapi 安装的 GSS-API 工作的,是否有可用于 GSS-SPNEGO 的等效包?我希望能够在 Kerberos 不起作用的情况下回退到 NTLM 身份验证。
服务器支持 GSSAPI 和 GSS-SPNEGO,但从客户端看来 GSS-SPNEGO 不可用。 ldapsearch 的输出如下所示:
ldapsearch -H "ldap://$HOST_NAME" -b "" -s base -Y GSS-SPNEGO
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available: No worthy mechs found
使用 cyrus-sasl-ntlm 不起作用,因为服务器似乎不支持:
ldapsearch -H "ldap://$HOST_NAME" -b "" -s base -Y NTLM
SASL/NTLM authentication started
ldap_sasl_interactive_bind_s: Authentication method not supported (7)
additional info: 00002027: LdapErr: DSID-0C0905ED,comment: Invalid Authentication method,data 0,v2580
是否可以将 SPNEGO 绑定与 ldapsearch 一起使用?或者还有其他方法可以通过 NTLM 进行身份验证吗?
解决方法
@Grant,
您需要将 -Y 选项更改为“-Y GSSAPI”
例如:
ldapsearch -H ldap://example.com -b 'DC=example,DC=com' -Y GSSAPI