Я могу успешно подключиться и выполнить поиск на контроллере домена Active Directory с помощью ldapsearch. Я использую -x
опция, чтобы указать аутентификацию по имени пользователя и паролю (пароль задается -W
и имя пользователя -D
).
В настоящее время мне нужно выгрузить каталог из домена MIT-kerberos. Kerberos - единственный протокол, доступный для аутентификации. Я могу получить билет Kerberos TGT с помощью kinit
. Я использую эти командные строки:
ldapsearch -Y SASL -b "REALM.INC" -H ldap://kerberos_IP_address
-> ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available: No worthy mechs found
ldapsearch -o "mech=GSSAPI" ...
-> Invalid general option name: mech
Как я могу пройти аутентификацию в Kerberos с помощью ldapsearch?
Большое спасибо за вашу помощь и ответы
Возможно, вам не хватает libsasl2-modules-gssapi-mit
пакет.
Без:
# ldapsearch -H ldap://dc1 -Y GSSAPI -b 'DC=ad-test,DC=vx'
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
additional info: SASL(-4): no mechanism available: No worthy mechs found
Установить:
# apt install libsasl2-modules-gssapi-mit
С участием:
# ldapsearch -H ldap://dc1 -Y GSSAPI -b 'DC=ad-test,DC=vx'
SASL/GSSAPI authentication started
SASL username: Administrator@AD-TEST.VX
SASL SSF: 256
SASL data security layer installed.
...
SASL включен по умолчанию и автоматически определяет совместимый механизм, поэтому указав -Y GSSAPI
даже не нужно:
# ldapsearch -H ldap://dc1 -b 'DC=ad-test,DC=vx'
SASL/GSSAPI authentication started
SASL username: Administrator@AD-TEST.VX
SASL SSF: 256
SASL data security layer installed.
...
В зависимости от вашей версии ldapsearch и ОС вы можете сначала попытаться аутентифицироваться в Kerberos с помощью kinit и "кэшировать" свой билет, использовать его в переменной env kerberos, а затем позволить ldapsearch использовать эту переменную примерно так:
kinit -c /tmp/<yourlogin>.cc.tmp <yourlogin>
export KRB5CCNAME=/tmp/<yourlogin>.cc.tmp
ldapsearch -Tx -h <host> -p <port> -Y GSSAPI -b "dc=example,dc=com" cn=*
-Y
используется для указания механизма SASL, который, вероятно, будет GSSAPI
хотя может быть GSS-SPNEGO
. Кроме того, базовый dn должен быть в синтаксисе dn (т. Е. dc=example,dc=com
), а не синтаксис домена (example.com
).
$ ldapsearch -x -b '' -s base supportedSASLMechanisms -H ldap://192.0.2.1/
dn:
supportedSASLMechanisms: GSSAPI
$ ldapsearch -Y GSSAPI -b dc=example,dc=com -H ldap://192.0.2.1/
$ ldapsearch -x -b '' -s base supportedSASLMechanisms -H ldap://192.0.2.2/
dn:
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: GSSAPI