Парамико: "FutureWarning: режим CTR требует параметра счетчика"

Я пытаюсь использовать Paramiko в Python2 для передачи файлов через SFTP с помощью частного SSH-ключа, но он отображает это предупреждение:

/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()

Ответы

Ответ 1

Это, скорее всего, ошибка в парамико

Вы можете попытаться исправить paramiko/transport.py с этим патчем, чтобы предупредить предупреждение

См. Также обсуждение здесь, которое ссылается на запрос на растяжение.

Ответ 2

Обновление пакета Crypto исчезает в моем случае: "CTR mode требует параметра счетчика, а не IV":

pip install -U Crypto

Ответ 3

Это сработало для меня.

  1. Удалите пакет python-paramiko, установленный с помощью apt:

apt remove python-paramiko

  1. Установите paramiko через pip, который обеспечивает более новую, явно фиксированную версию:

apt install duplicity python-pip -y

pip install paramiko