【问题标题】:Paramiko ValueError "p must be exactly 1024, 2048, or 3072 bits long"Paramiko ValueError "p 必须正好是 1024、2048 或 3072 位长"
【发布时间】:2020-03-03 03:08:16
【问题描述】:

我正在尝试使用 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 位

【问题讨论】:

    标签: python ssh sftp paramiko


    【解决方案1】:

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

    修改后:

    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")
    

    发布到纠正它工作正常。 谢谢

    【讨论】:

      猜你喜欢
      • 2020-10-27
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 2016-03-16
      相关资源
      最近更新 更多