InitializeSecurityContext: указанная цель неизвестна или недоступна - PullRequest
0 голосов
/ 05 декабря 2018

Общая цель: я пытаюсь пройти аутентификацию в Active Directory через LDAP с Kerberos в Windows.Из-за зависимостей я не могу использовать python-ldap или python-gssapi, поэтому я использую ldap3 с патчем , найденным в этом ответе , чтобы использовать Kerberos (вместо winkerberosиз python-gssapi).

Пример кода:

from ldap3 import Connection, Server, ALL, IP_V4_PREFERRED, SASL, GSSAPI

domain_controller = input("DC: ")

SERVER = Server(domain_controller,
                allowed_referral_hosts=[('*', True)],
                get_info=ALL,
                mode=IP_V4_PREFERRED)

CONNECTION = {"authentication": SASL,
              "sasl_mechanism": GSSAPI,
              "check_names": True}

c = Connection(SERVER, **CONNECTION)
c.bind()

Броски:

  File "ldap3\core\connection.py", line 550, in bind
    response = self.do_sasl_bind(controls)
  File "ldap3\core\connection.py", line 1252, in do_sasl_bind
    result = sasl_gssapi(self, controls)
  File "ldap3\protocol\sasl\kerberos.py", line 54, in sasl_gssapi
    base64.b64encode(in_token).decode('ascii')
winkerberos.GSSError: SSPI: InitializeSecurityContext: The specified target is unknown or unreachable

Я пытался изменить @ с / на решение здесь без разницы.Сокет правильно разрешает dc fqdn, dc поддерживает механизм SASL / GSSAPI, и я могу альтернативно передать имя пользователя / пароль для успешного связывания.Неисправная часть звучит специфично для Kerberos.

Вопрос: что является причиной этой ошибки и как ее исправить?

...