我试图让Lenny上的OpenLDAP和StartTLS一起工作。 我有一个Fedora 13机器,我正在使用它作为客户端进行testing。 到目前为止,当我尝试使用ldapsearch进行连接时,Fedora客户端忽略了/etc/ldap.conf中的“host”指令。 即使我使用ldapsearch指定-H ldaps://server.name,客户端也想连接到127.0.0.1:389。 客户端机器上的/etc/ldap.conf处于模式444。
但即使当我尝试本地连接从SSH会话,我看到这样的错误: ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
有人打了我一个cluebat,plz。
更新:您必须使用〜/ .ldaprc来进行“主机”等设置。 另外,我刚刚使用nmap来对付ldap服务器,并显示636和389处于打开状态。
这里是什么打印屏幕,当我尝试连接, ldapsearch -ZZ –x '(objectclass=*)'+ -d -1
ldap_create 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 192.168.10.41:636 ldap_new_socket:3 ldap_prepare_socket:3 ldap_connect_to_host:尝试192.168.10.41:636 ldap_pvt_connect:fd:3 tm:-1 async:0 ldap_open_defconn:成功 ldap_send_server_request ber_scanf fmt({it} ber: ber_dump:buf = 0x9bdbdb8 ptr = 0x9bdbdb8 end = 0x9bdbdd7 len = 31 0000:30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0 .... w ... 1.3.6.1 0010:2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037 ber_scanf fmt({)ber: ber_dump:buf = 0x9bdbdb8 ptr = 0x9bdbdbd end = 0x9bdbdd7 len = 26 0000:77 18 80 16 31 2e 33 2e 36 2e 31 2e 34 2e 31 2e w ... 1.3.6.1.4.1。 0010:31 34 36 36 2e 32 30 30 33 37 1466.20037 ber_flush2:31个字节到sd 3 0000:30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0 .... w ... 1.3.6.1 0010:2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037 ldap_write:想要= 31,写入= 31 0000:30 1d 02 01 01 77 18 80 16 31 2e 33 2e 36 2e 31 0 .... w ... 1.3.6.1 0010:2e 34 2e 31 2e 31 34 36 36 2e 32 30 30 33 37 .4.1.1466.20037 msgstr 1“ldap_result ld 0x9bd3050” wait4msg ld 0x9bd3050 msgid 1(无限超时) msgstr 1 wait4msg continue ld 0x9bd3050 1全部1 ** ld 0x9bd3050连接: *主机:192.168.10.41端口:636(默认) refcnt:2状态:连接 上次使用时间:2010年6月12日12:54:05 ** ld 0x9bd3050未完成的请求: * msgid 1,origid 1,状态InProgress 优秀推荐0,父母计数0 ld 0x9bd3050请求计数1(放弃0) ** ld 0x9bd3050响应队列: 空 ld 0x9bd3050响应计数0 msgstr 1所有1 ldap_chkResponseList返回ld 0x9bd3050 NULL ldap_int_select 只读1msg:ld 0x9bd3050 1 ber_get_next ldap_read:想要= 8,得到= 0 ber_get_next失败。 ldap_err2string ldap_start_tls:无法联系LDAP服务器(-1)
默认情况下,客户端检查服务器的证书。 只需在/etc/openldap/ldap.conf中添加“TLS_REQCERT never”即可
我已经成功地让SSL在Lenny上与SLAPD合作。 虽然我不记得我做了什么,但我记得它与GNUTLS和OPENSSL之间的密码差异有关。 Lenny的SLAPD包是针对GNUTLS编译的。 可能与此有关 。
它看起来像不能读取密钥文件。 你应该有一个unpassworded密钥。 将openldap添加到ssl-cert组。 在密钥ssl-cert和权限440上build立组。openssl s_client命令可以用来debugging问题。
尝试在证书文件上做一个chown openldap:openldap。
如果您有一个由中间证书签名的SSL证书(这些日子并不罕见),您将在Lenny下的slapd中遇到TLS问题。 正如sybreon Lenny所提到的,与GNUTLS的链接不支持所有你需要的选项。
解决方法是使用slapd的Lenny backport。 但是我们发现2.4.17-2.1〜bpo50 + 1的backport是针对libdb4.6编译的,libdb4.6有一个bug,会影响我们运行大约一周的时间。
所以在这一点上,我不build议使用Lenny来运行slapd,如果你需要TLS的话。 升级挤压。