Задержка получения токенов kerberos: python gssapi securitycontext - PullRequest
0 голосов
/ 30 апреля 2018

Привет, я использую функцию Python для получения токенов kerberos

def get_token(server):

    service = gssapi.Name("HTTP@%s" % server, gssapi.NameType.hostbased_service)

    ctx = gssapi.SecurityContext(name=service, usage="initiate")
    attempts = 0

    while True:
        try:
            print("before")

            token = ctx.step()

            print("after")  
            break
        except Exception as e:
            attempts += 1
            print(attempts)
            if attempts < MAX_TOKEN_ATTEMPTS:
                logger.debug("exception while getting Kerberos token, trying again", exc_info=e)
            else:
                raise OSError("too many failures while getting Kerberos token, discarding request") from e

    b64token = base64.b64encode(token)
    return b64token

Функция дает ожидаемый результат. Однако проблема в том, что на одной из моих машин шаг "token = ctx.step ()" занимает больше 5 секунд. В других моих машинах это занимает менее 2 секунд.

Есть идеи, объясняющие причину задержки?

-Я попытался использовать IP-адрес и полное доменное имя в качестве аргумента основной функции. все же. Копирование со всех моих машин на сервер занимает одно и то же время.

Мое окружение:

Python 3.5.2

Ubuntu 16.04

...