ldap_sasl_interactive_bind_s:无法联系 LDAP 服务器(-1)

ldap_sasl_interactive_bind_s:无法联系 LDAP 服务器(-1)

我正在运行一个可以连接的 LDAP,但是在想要摆脱 slapd.conf 并使用 ldif 时,我遇到了以下问题。

当我输入:ldapsearch -H ldap:// -x -s base -b "" -LLL "+"

我明白了

dn:
structuralObjectClass: OpenLDAProotDSE
configContext: cn=config
namingContexts: dc=mysite,dc=com
supportedControl: 1.3.6.1.4.1.4203.1.9.1.1
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.3.6.1.1.22
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.826.0.1.3344810.2.3
supportedControl: 1.3.6.1.1.13.2
supportedControl: 1.3.6.1.1.13.1
supportedControl: 1.3.6.1.1.12
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedExtension: 1.3.6.1.1.8
supportedFeatures: 1.3.6.1.1.14
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 3
supportedSASLMechanisms: SRP
supportedSASLMechanisms: SCRAM-SHA-1
supportedSASLMechanisms: GS2-IAKERB
supportedSASLMechanisms: GS2-KRB5
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: OTP
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
entryDN:
subschemaSubentry: cn=Subschema

然后我尝试:sudo ldapsearch -H ldapi:// -Y EXTERNAL -b "cn=config" -LLL -Q

导致: ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)

当我尝试使用 ldap:// 而不是 ldapi:// 时,我得到:

ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
    additional info: SASL(-4): no mechanism available: 

我可以找到很多有关 TLS 和身份验证的信息,但我没有配置任何 TLS/SSL,所以不确定为什么会发生这种情况。有人遇到过这种情况吗?

答案1

你确定你的拍打是否正在监听 LDAPI 套接字?

它必须以`slapd -h“ldapi:// ldap://”开始,例如监听 Unix 域套接字(默认路径名取决于构建选项)和明文 LDAP(389/tcp)。

根据您的 Linux 发行版(哪一个?),可能有一些用于设置启动脚本参数的配置文件。

另请注意,您需要进行更多配置才能直接映射 Linux 用户授予 LDAP 用户写入权限cn=配置进行更多重新配置。

在条目中cn=配置(前端配置)您需要将 authc-DN 重写为正确的 authz-DN:

olcAuthzRegexp: {0}"gidnumber=0\+uidnumber=0,cn=peercred,cn=external,cn=auth" "cn=config"

在条目中olcDatabase={0}配置您将需要一个像这样的 ACL:

olcAccess: {0}to
  dn.subtree="cn=config"
  by dn.base="cn=config" write

答案2

root@ldap:~#ldapmodify -Y EXTERNAL -H ldapi:/// -f mod_ssl.ldif 导致:ldap_sasl_interactive_bind_s:无法联系 LDAP 服务器(-1)

root@ldap:~#sudo service slapd start

slapd.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status slapd.service”和“journalctl -xe”。问题:- 无法启动 slapd slapd.service:控制进程已退出,代码=exited status=1“tls init def ctx failed: -1”

检查你的 SSL 证书 .crt/.key 应该没问题

root@ldap:~#ls -lsrt /etc/ldap/sasl2/ root@ldap:~#grep -R /etc/ldap/slapd.d

root@ldap:~#cat /etc/ldap/slapd.d/'cn=config.ldif'

olcTLSCertificate文件:/etc/ldap/sasl2/maneet.crt olcTLSCertificateKey文件:/etc/ldap/sasl2/maneet.key

#sudo 服务 slapd 启动

问题解决了

相关内容