SFTP с использованием ftplib
Вопрос
Мне нужно скачать файл с хоста с помощью 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 (который является FTP над SSH и не имеет ничего общего с FTPS, FTP над SSL). Использовать рекомендуемые Paramiko вместо.