Paramiko ValueError“ p必须完全为1024、2048或3072位长”

时间:2019-11-06 15:22:40

标签: python ssh sftp paramiko

我正在尝试使用Python脚本连接SFTP。由于“ 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 :(得分:0)

问题已解决。 找到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")

发布以进行纠正,效果很好。 谢谢