2010-01-07 16 views
9

Necesito descargar un archivo desde un host usando sFTP.sftp usando ftplib

¿Sabes si es posible hacerlo con python ftplib? Vi an example here, pero cuando trato de conectar recibo EOFError.

yo probamos este código:

import ftplib 
ftp = ftplib.FTP() 
ftp.connect("1.2.3.4", "22") 

Este método devuelve un error después de mucho tiempo por lo que no puede realizar una llamada para iniciar sesión. no puedo probar el constructor FTP([host[, user[, passwd[, acct[, timeout]]]]]) porque mi puerto es 22, pero ftplib por defecto es 21.

Si sigo el ejemplo

ftp = ftplib.FTP("1.2.3.4") 
ftp = ftplib.FTP("1.2.3.4","22") 

recibo una conexión rechazada, así que no puedo entrar en cualquier nombre de usuario. ¿Me puedes ayudar? Muchas gracias

+1

no aceptó la respuesta a esa pregunta, afirma claramente que Paramiko es el camino a seguir. – SilentGhost

Respuesta

11

Como the question you linked to estados, ftplib no soporta SFTP (que es FTP sobre SSH y no tiene nada que ver con FTPS, FTP sobre SSL). Use el recommendedparamiko en su lugar.

+0

Auch .. Lo siento! No me di cuenta. Muchas gracias –