2010-08-11 7 views
2

J'essaye d'utiliser paramiko pour obtenir un fichier via SFTP. Il se connecte, je peux lister les répertoires et il télécharge même le premier mégaoctet du fichier, mais alors il se bloque. Aucune exception, aucune erreur, rien. Il reste suspendu indéfiniment.paramiko SFTP se bloque get

Voici le code que je travaille avec:

import paramiko 
t = paramiko.Transport(host) 
t.connect(username=uname, password=passwd) 
f = paramiko.SFTPClient.from_transport(t) 
print f.listdir() 
f.get(fname, fname) #it hangs on this line :\ 

J'ai accès sftp à l'hôte en question, mais pas l'accès au shell. L'hôte contient un seul fichier que j'ai besoin de récupérer régulièrement et de le traiter dans un script python.

Toute aide à ce problème ou des solutions de rechange à faire SFTP en Python sont très appréciés :)

Répondre

1

Je vous suggère de feu vers le haut Wireshark sur le client et de voir ce qui se passe au niveau du protocole. Vous ne serez pas en mesure de lire les données dans les paquets car elles seront cryptées, mais vous verrez ce qui se passe au niveau TCP/IP et cela pourrait fournir un indice.

+0

Merci pour le conseil. J'ai mis en place Wireshark (je ne savais pas que l'éthéré avait eu la force de changer de nom) et j'ai lancé une capture pendant la durée de téléchargement de mon programme. Cependant, je crains de ne pas être suffisamment versé dans les bas niveaux de ssh et de tcp pour pouvoir en comprendre le sens. Il ne semble pas vraiment y avoir d'erreurs cependant, il semble juste s'arrêter juste! – Ulfur

+0

Pouvez-vous télécharger le fichier de capture sur un serveur où nous pouvons le télécharger pour examen? –

+0

Allez-y: http://drop.io/ulfur_dump J'espère que ça aide, je suis totalement déconcerté par ce problème: \ – Ulfur