如何使用 GSS-SPNEGO 进行 ldapsearch 绑定

问题描述

我想使用 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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...