web-dev-qa-db-fra.com

Paramiko: "FutureWarning: le mode CTR a besoin d'un paramètre de compteur"

J'essaie d'utiliser Paramiko en Python2 pour transférer des fichiers via SFTP avec une clé SSH privée, mais il affiche cet avertissement:

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

En fait, il envoie le fichier au serveur, mais quelqu'un peut-il m'expliquer ce que signifie cet avertissement?

Voici mon code:

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()
15
Adrián Kálazi

C'est très probablement un bug dans paramiko

Vous pouvez essayer de patcher paramiko/transport.py avec ce patch pour faire disparaître l'avertissement

Voir aussi la discussion ici qui fait référence à la demande d'extraction.

19
hansaplast

Cela a fonctionné pour moi.

  1. Retirer le python-paramiko package installé avec apt:

apt remove python-paramiko

  1. Installez paramiko via pip qui fournit une nouvelle version bien évidemment fixe:

apt install duplicity python-pip -y

pip install paramiko

4
weefwefwqg3

La mise à jour du package Crypto fait disparaître l'avertissement "Le mode CTR a besoin d'un paramètre de compteur, pas IV" dans mon cas:

pip install -U Crypto
3