2012-02-27 23 views
21

我想通過SSL/TLS連接使用ldapsearch的,但它不工作:ldapsearch的通過SSL/TLS不起作用

ldapsearch -ZZ -d 5 -b "cn=Users,dc=my,dc=server,dc=com" -s sub -D 
"cn=mydevice,cn=Users,dc=my,dc=server,dc=com" -h my.server.com -p 3269 
-w "mypass" -x "(cn=test)" 

ldap_create 
ldap_url_parse_ext(ldap://my.server.com:3269) 
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 my.server.com:3269 
ldap_new_socket: 3 
ldap_prepare_socket: 3 
ldap_connect_to_host: Trying 10.199.46.70:3269 
ldap_connect_timeout: fd: 3 tm: -1 async: 0 
ldap_open_defconn: successful 
ldap_send_server_request 
ber_scanf fmt ({it) ber: 
ber_scanf fmt ({) ber: 
ber_flush: 31 bytes to sd 3 
ldap_result ld 0x95ff590 msgid 1 
wait4msg ld 0x95ff590 msgid 1 (infinite timeout) 
wait4msg continue ld 0x95ff590 msgid 1 all 1 
** ld 0x95ff590 Connections: 
* host: my.server.com port: 3269 (default) 
refcnt: 2 status: Connected 
last used: Mon Feb 27 10:59:43 2012 

** ld 0x95ff590 Outstanding Requests: 
* msgid 1, origid 1, status InProgress 
outstanding referrals 0, parent count 0 
** ld 0x95ff590 Response Queue: 
Empty 
ldap_chkResponseList ld 0x95ff590 msgid 1 all 1 
ldap_chkResponseList returns ld 0x95ff590 NULL 
ldap_int_select 
read1msg: ld 0x95ff590 msgid 1 all 1 
ber_get_next 
ldap_perror 
ldap_start_tls: Can't contact LDAP server (-1) 

錯誤消息並沒有給什麼是足夠多的暗示錯誤。相比之下,一個簡單的綁定和搜索進展順利,沒有任何問題在端口389.

任何提示?

P.S.這是我的ldap.conf:

TLS_REQCERT demand 
TLS_CACERT ./cacert.pem 

我甚至試圖改變TLS_REQCERTnever,但它仍然無法正常工作。 :-(

+1

它看起來不像它試圖使用TLS。您可以使用-H開關,而使用LDAP URL: ldapsearch -ZZ -d 5 -b「cn = Users,dc = my,dc = server,dc = com」-s sub -D「cn = mydevice ,cn = Users,dc = my,dc = server,dc = com「-H ldaps://my.server.com:3269 -w」mypass「-x」(cn = test)「 – dearlbry 2012-03-06 22:23:10

回答

44

首先,(在我的Ubuntu 13.04或/etc/ldap/ldap.conf)代替-h my.server.com -p 3269-H ldaps://my.server.com:3269由@dearlbry的建議

然後,在/etc/openldap/ldap.conf,加入該禁用證書驗證。

HOST my.server.com 
PORT 3269 
TLS_REQCERT ALLOW 

如果您不想影響整個系統,您也可以在當前目錄中創建一個ldaprc文件。

這將是l通過SSL啓用ldapsearch,但不驗證。按照這些steps to add certificate validation混合。