Paramiko ValueError «p должно быть точно 1024, 2048 или 3072 бита» - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь подключить SFTP, используя скрипт Python. Я не могу подключиться из-за ошибки "p".

import paramiko
client = paramiko.SSHClient()
client.load_system_host_keys()
client.connect('####.com', username='####', password='###')
stdin, stdout, stderr = client.exec_command('ls -l')

Ошибка:

ValueError: p должно быть точно 1024, 2048 или 3072 бит длиной

1 Ответ

0 голосов
/ 14 ноября 2019

Проблема была решена. Найдите значение p и включите вычисленный p в файл dsa.py и сохраните его.

как рассчитать P:

def _check_dsa_parameters (параметры):

print(parameters.p.bit_length(),"value of p")
if parameters.p.bit_length() not in [1024, 2048, 3024]:

включите в этот список p:

(если parameters.p.bit_length () отсутствует в [1024, 2048, значение p]:)

ПОСЛЕ МОДИФИКАЦИИ:

def_check_dsa_parameters (параметры):

if parameters.p.bit_length() not in [1024, 2048, p-value]:
    raise ValueError("p must be exactly 1024, 2048, or 3072 bits long")

Пост до исправления это работало Отлично. Спасибо

...