16

I need to download a file from a host using SFTP.

Do you know if is it possible to do that using Python ftplib? I saw an example here, but when I try to connect I receive EOFError.

I tried this code:

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

This method returns with an error after long time so I cannot perform a call to login. I cannot try the constructor FTP([host[, user[, passwd[, acct[, timeout]]]]]) because my port is 22 but ftplib default is 21.

If I follow the example

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

I receive a connection refused so I cannot enter any username password. Can you help me? Thank you very much

Martin Prikryl
  • 167,268
  • 50
  • 405
  • 846
Abruzzo Forte e Gentile
  • 13,745
  • 25
  • 90
  • 169

1 Answers1

20

As the question you linked to states, ftplib doesn't support SFTP (which is a transfer protocol over SSH and has nothing to do with FTPS, FTP over SSL). Use the recommended Paramiko instead.

Martin Prikryl
  • 167,268
  • 50
  • 405
  • 846
David Schmitt
  • 56,693
  • 26
  • 120
  • 165