Pywinrm CredSSP NTLM BadMechanismError(context_msg="Unable to negotiate common mechanism", base_error=last_err)
Я пытаюсь отладить странное поведение при использовании pywinrm. Он не может открыть соединение WinRM из-за
BadMechanismError: SpnegoError (1): expected string or bytes-like object, got 'dict', Context: Unable to negotiate common mechanism
Я использую его в докере, и один и тот же образ ведет себя по-разному. Запуск образа на одном сервере выдает сообщение об ошибке ниже, а запуск на другом сервере
Я не могу понять, что может быть иначе
2024-06-27T14:38:56+0000 DEBUG _credssp MainProcess-10 MainThread-139775582927656 _step_initiate : Starting CredSSP authentication phase
2024-06-27T14:38:56+0000 DEBUG _negotiate MainProcess-10 MainThread-139775582927656 step : SPNEGO step input:
2024-06-27T14:38:56+0000 DEBUG _negotiate MainProcess-10 MainThread-139775582927656 _rebuild_context_list : Attempting to create kerberos context when building SPNEGO mech list
2024-06-27T14:38:56+0000 DEBUG _negotiate MainProcess-10 MainThread-139775582927656 _rebuild_context_list : Failed to create context for SPNEGO protocol kerberos: Configuration file does not specify default realm -1765328160
2024-06-27T14:38:56+0000 DEBUG _negotiate MainProcess-10 MainThread-139775582927656 _rebuild_context_list : Attempting to create ntlm context when building SPNEGO mech list
2024-06-27T14:38:56+0000 DEBUG _negotiate MainProcess-10 MainThread-139775582927656 _rebuild_context_list : Failed to create context for SPNEGO protocol ntlm: expected string or bytes-like object, got 'dict'
2024-06-27T14:38:56+0000 ERROR exception_handler MainProcess-10 MainThread-139775582927656 process_exception : (500) Exception occurred: Received error status from the server: (2148074245) UNKOWN_STATUS 0x80090305
2024-06-27T14:38:56+0000 ERROR exception_handler MainProcess-10 MainThread-139775582927656 process_exception : Received error status from the server: (2148074245) UNKOWN_STATUS 0x80090305
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/requests_credssp/credssp.py", line 105, in credssp_generator
out_token = self._context.step(in_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/spnego/_credssp.py", line 367, in step
out_token = self._step_gen.send(in_token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/spnego/_credssp.py", line 396, in _step_initiate
out_token = self._auth_context.step()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/spnego/_negotiate.py", line 148, in step
mech_token_in, mech_list_mic, is_spnego = self._step_spnego_input(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/spnego/_negotiate.py", line 259, in _step_spnego_input
self._mech_list = self._rebuild_context_list(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/spnego/_negotiate.py", line 475, in _rebuild_context_list
raise BadMechanismError(context_msg="Unable to negotiate common mechanism", base_error=last_err)
spnego.exceptions.BadMechanismError: SpnegoError (1): expected string or bytes-like object, got 'dict', Context: Unable to negotiate common mechanism
Это requirements.txt
и я использую python версии 3.12:
Django==5.0.3
asgiref==3.8.1
asn1crypto==1.5.1
certifi==2024.6.2
cffi==1.16.0
charset-normalizer==3.3.2
cryptography==42.0.8
decorator==5.1.1
django-environ==0.11.2
djangorestframework==3.15.2
gssapi==1.8.3
gunicorn==22.0.0
idna==3.7
krb5==0.5.1
packaging==24.1
pip==24.1.1
psycopg2-binary==2.9.9
pycparser==2.22
pyspnego==0.11.0
pytz==2024.1
pywinrm==0.4.3
requests==2.32.3
requests-credssp==2.0.0
requests-gssapi==1.3.0
requests-kerberos==0.15.0
setuptools~=70.1.1
six==1.16.0
sqlparse==0.5.0
urllib3==2.2.2
xmltodict==0.13.0
Я прошу совета, как его отладить, как выяснить, почему иногда он работает и соединение через WinRM устанавливается правильно, а иногда нет. (особенно при запуске одного и того же образа докера)
Есть подсказка?