2012-02-27 9 views
21

Tôi cố gắng để sử dụng ldapsearch qua ssl/tls kết nối, nhưng nó không hoạt động:ldapsearch qua SSL/TLS không hoạt động

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) 

Các thông báo lỗi không cho gợi ý enought vào những gì là sai rồi. Ngược lại, một ràng buộc và tìm kiếm đơn giản diễn ra tốt đẹp mà không gặp bất kỳ sự cố nào trên cổng 389.

Bất kỳ gợi ý nào?

P.S. Dưới đây là ldap.conf tôi:

TLS_REQCERT demand 
TLS_CACERT ./cacert.pem 

Tôi thậm chí đã cố gắng để thay đổi TLS_REQCERT để never, nhưng nó vẫn không hoạt động. :-(

+1

Dường như không cố gắng sử dụng TLS. Thay vào đó, bạn có thể sử dụng chuyển đổi -H, với URL LDAP: ldapsearch -ZZ -d 5 -b "cn = Người dùng, dc = của tôi, dc = máy chủ, dc = com" -s phụ -D "cn = mydevice , cn = Người dùng, dc = của tôi, dc = máy chủ, dc = com "-H ldaps: //my.server.com: 3269 -w" mypass "-x" (cn = test) " – dearlbry

Trả lời

44

Thứ nhất, thay thế -h my.server.com -p 3269 với -H ldaps://my.server.com:3269 theo đề nghị của @dearlbry

Sau đó, trong /etc/openldap/ldap.conf (hoặc /etc/ldap/ldap.conf trên Ubuntu của tôi 13,04), vô hiệu hóa xác minh chứng bằng cách thêm này:.

HOST my.server.com 
PORT 3269 
TLS_REQCERT ALLOW 

Bạn cũng có thể tạo tệp ldaprc trong thư mục hiện tại có cùng nội dung nếu bạn không muốn ảnh hưởng đến toàn bộ hệ thống. l cho phép ldapsearch qua SSL, nhưng không có xác minh. Thực hiện theo các steps to add certificate validation để trộn.