ldap - 如何使用 GSS-SPNEGO 进行 ldapsearch 绑定
问题描述
我想使用 ldapsearch 从 Linux 实例(Amazon Linux OS)对远程 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 进行身份验证的方法?
解决方案
@授予,
您需要将 -Y 选项更改为“-Y GSSAPI”
例如:
ldapsearch -H ldap://example.com -b 'DC=example,DC=com' -Y GSSAPI
推荐阅读
- r - 在 R 中的特定日期绘制图表时出错
- php - 变量不应返回默认值
- javascript - 角度绑定中的 textContent/innerText/innerHTML
- c++ - 如何将 noexcept 说明符添加到已定义的函数类型?
- heroku - 如何在托管 web 应用程序时修复 Heroku 上的服务器错误?
- c# - 需要在 EF Core 中的 SaveChanges() 期间获取数据
- c - 获取字符串数组的意外输出
- mysql - 如何在mysql中启用复制历史
- javascript - Cypress.js 的问题和未捕获的异常
- c++ - C++ 模板 - 完整指南:了解关于 decltype 和返回类型的脚注注释