我在尝试将 ldapsearch 连接到 Azure 广告域服务时遇到了一些问题。从各种 SO 链接和操作方法中,我们找到了一些可以尝试的命令,但似乎都没有用。
根据 SO 和类似网站上的大多数问题,我们使用的绑定/基本 DN 显然是正确的,但我认为不是!
我正在运行的命令是这样的:
ldapsearch -H "ldaps://aaddc.domain.com:636" -Z -d 5 -D "[电子邮件保护]“-b”dc =域,dc = com“-w $密码-s sub -x
从下面的错误来看,似乎能连接到目录并尝试进行身份验证,但我认为我们尝试绑定的 dn 存在一些问题,因此无法完成身份验证。如果有人能提供一些帮助,那就太好了。
ldap_url_parse_ext(ldaps://aaddc.domain.com:636) ldap_create ldap_url_parse_ext(ldaps://aaddc.domain.com:636/??base) ldap_extended_operation_s ldap_extended_operation ldap_send_initial_request ldap_new_connection 1 1 0 ldap_int_open_connection ldap_connect_to_host:TCP aaddc.domain.com:636 ldap_new_socket: 3 ldap_prepare_socket: 3 ldap_connect_to_host:尝试 ip_address:636 ldap_pvt_connect:fd:3 tm:-1 异步:0 尝试连接: 连接成功 ldap_open_defconn:成功 ldap_send_server_request ber_scanf fmt ({it) ber: ber_scanf fmt({)ber: ber_flush2:31 字节到 sd 3 ldap_result ld 0x564972601dc0 msgid 1 wait4msg ld 0x564972601dc0 msgid 1 (无限超时) wait4msg 继续 ld 0x564972601dc0 msgid 1 全部 1 ** ld 0x564972601dc0 连接: * 主机:aaddc.domain.com 端口:636(默认) refcnt:2 状态:已连接 最后使用时间:2017 年 11 月 3 日星期五 13:35:56 ** ld 0x564972601dc0 未完成的请求: * msgid 1, origid 1, 状态为 InProgress 未完成推荐 0,父级数 0 ld 0x564972601dc0 请求数 1 (已放弃 0) ** ld 0x564972601dc0 响应队列: 空的 ld 0x564972601dc0 响应计数 0 ldap_chkResponseList ld 0x564972601dc0 msgid 1 全部 1 ldap_chkResponseList 返回 ld 0x564972601dc0 NULL ldap_int_select read1msg: ld 0x564972601dc0 msgid 1 全部 1 ber_get_next ber_get_next:标签 0x30 长度 127 内容: read1msg:ld 0x564972601dc0 msgid 1 消息类型扩展结果 ber_scanf fmt ({eAA) ber: read1msg: ld 0x564972601dc0 0 个新推荐 read1msg: 标记请求完成,ld 0x564972601dc0 msgid 1 请求完成:ld 0x564972601dc0 msgid 1 res_errno: 1,res_error:,res_matched: ldap_free_request (origid 1,msgid 1) ldap_parse_extended_result ber_scanf fmt ({eAA) ber: ber_scanf fmt(a)ber: ldap_parse_result ber_scanf fmt ({iAA) ber: ber_scanf fmt(x)ber: ber_scanf fmt(})ber: ldap_msg释放 ldap_err2string ldap_start_tls:操作错误(1) 附加信息:00000000:LdapErr:DSID-0C090FF6,注释:TLS 或 SSL 已生效,数据 0,v2580 ldap_sasl_bind ldap_send_initial_request ldap_send_server_request ber_scanf fmt ({it) ber: ber_scanf fmt({i)ber: ber_flush2:48 字节到 sd 3 ldap_result ld 0x564972601dc0 msgid 2 wait4msg ld 0x564972601dc0 msgid 2(无限超时) wait4msg 继续 ld 0x564972601dc0 msgid 2 全部 1 ** ld 0x564972601dc0 连接: * 主机:aaddc.domain.com 端口:636(默认) refcnt:2 状态:已连接 最后使用时间:2017 年 11 月 3 日星期五 13:35:56 ** ld 0x564972601dc0 未完成的请求: * msgid 2, origid 2, 状态为 InProgress 未完成推荐 0,父级数 0 ld 0x564972601dc0 请求数 1 (已放弃 0) ** ld 0x564972601dc0 响应队列: 空的 ld 0x564972601dc0 响应计数 0 ldap_chkResponseList ld 0x564972601dc0 msgid 2 全部 1 ldap_chkResponseList 返回 ld 0x564972601dc0 NULL ldap_int_select read1msg: ld 0x564972601dc0 msgid 2 全部 1 ber_get_next ber_get_next:标签 0x30 长度 104 内容: read1msg:ld 0x564972601dc0 msgid 2 消息类型绑定 ber_scanf fmt ({eAA) ber: read1msg: ld 0x564972601dc0 0 个新推荐 read1msg: 标记请求完成,ld 0x564972601dc0 msgid 2 请求完成:ld 0x564972601dc0 msgid 2 res_errno: 49,res_error:,res_matched: ldap_free_request (origid 2,msgid 2) ldap_parse_result ber_scanf fmt ({iAA) ber: ber_scanf fmt(})ber: ldap_msg释放 ldap_err2string ldap_bind:无效凭证(49) 附加信息:80090308:LdapErr:DSID-0C09042F,评论:AcceptSecurityContext 错误,数据 52e,v2580 ldap_free_connection 1 1 ldap_send_unbind ber_flush2:7 个字节到 sd 3 ldap_free_connection:实际已释放
答案1
事实证明,MS 的 Azure 存在问题,导致 Azure 和 Azure AD 之间的同步无法进行。
最好的调试步骤是这样的:
ldapsearch -x -H 'ldaps://<domain>:636' -b '' -s base '(objectclass=*)'
这应该为您返回一个未绑定的 LDAP 树。
从那里,您可以按如下方式绑定到您的 LDAPS domain.com
:
ldapsearch -x -H 'ldaps://domain.com:636' -b 'DC=domain,DC=com' -s base -D '[email protected]' -w <password>
是的,微软的商业支持很差劲。
答案2
我遇到了类似的问题。在我们的案例中,我们了解到 Active Directory 管理员更改了配置,因此“真实”用户的连接需要 SSL/TLS 身份验证。