使用ftplib的SFTP


问题内容

我需要使用SFTP从主机下载文件。

您知道是否可以使用Python
ftplib做到这一点?我在这里看到了一个示例,但是当我尝试连接时,我会收到EOFError

我尝试了这段代码:

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

很长一段时间后,此方法返回错误,因此我无法执行登录请求。我无法尝试构造函数,FTP([host[, user[, passwd[, acct[, timeout]]]]])因为我的端口是22,但ftplib默认端口是21。

如果我按照这个例子

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

我收到连接被拒绝的通知,因此我无法输入任何用户名密码。你能帮助我吗?非常感谢你


问题答案:

正如您所链接到的问题所指出的那样,ftplib不支持SFTP(这是SSH上的传输协议,与FTPS,SSL上的FTP无关)。请改用推荐的
Paramiko