Paramiko:“FutureWarning:CTR模式需要计数器参数”

时间:2017-02-03 17:06:24

标签: python warnings sftp paramiko python-cryptography

我试图在Python2中使用Paramiko通过私有SSH密钥通过SFTP传输文件,但它显示此警告:

/usr/lib/python2.7/dist-packages/Crypto/Cipher/blockalgo.py:141: 
FutureWarning: CTR mode needs counter parameter, not IV   self._cipher = factory.new(key, *args, **kwargs)

实际上它会将文件发送到服务器,但有人可以解释一下这个警告意味着什么吗?

这是我的代码:

t = paramiko.Transport((host, port))
key = paramiko.RSAKey.from_private_key_file("/path/to/key.ssh") 
t.connect(username="username",password=None, pkey=key)

sftp = paramiko.SFTPClient.from_transport(t)
sftp.put(source, destination)

sftp.close()
t.close()

4 个答案:

答案 0 :(得分:18)

这很可能是paramiko的错误

您可以尝试使用this patch修补paramiko/transport.py以使警告消失

另请参阅引用拉取请求的讨论here

答案 1 :(得分:4)

这对我有用。

  1. 删除使用apt:
  2. 安装的python-paramiko

    apt remove python-paramiko

    1. 通过pip安装paramiko,提供更新的明显固定版本:
    2. apt install duplicity python-pip -y

      pip install paramiko

答案 2 :(得分:3)

更新加密包消失了" CTR模式需要计数器参数,而不是IV"在我的情况下警告:

pip install -U Crypto

答案 3 :(得分:0)

@hansaplast建议的方法效果很好。 就我而言,我在以下文件的第1649行中将vi替换为/usr/lib/python2.7/dist-packages/paramiko/transport.py