38

SSL/TLS 接続で ldapsearch を使用しようとしていますが、うまくいきません:

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 では、単純なバインドと検索は問題なくうまくいきます。

ヒントはありますか?

PSここに私のldap.confがあります:

TLS_REQCERT demand
TLS_CACERT ./cacert.pem

に変更しようとしましTLS_REQCERTneverが、まだ機能しません。:-(

4

1 に答える 1

70

まず、@dearlbry の提案に従って置き換えます-h my.server.com -p 3269-H ldaps://my.server.com:3269

次に、/etc/openldap/ldap.conf(または/etc/ldap/ldap.conf私のUbuntu 13.04で)、これを追加して証明書の検証を無効にします:

HOST my.server.com
PORT 3269
TLS_REQCERT ALLOW

ldaprcシステム全体に影響を与えたくない場合は、現在のディレクトリに同じ内容のファイルを作成することもできます。

これにより、SSL 経由の ldapsearch が有効になりますが、検証は行われません。次の手順に従って、証明書の検証をミックスに追加します。

于 2012-11-27T21:50:00.553 に答える