sftp с использованием ftplib - PullRequest
10 голосов
/ 07 января 2010

Мне нужно скачать файл с хоста, используя 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")

Я получил отказ в соединении, поэтому не могу ввести пароль пользователя. Вы можете мне помочь? Большое спасибо

1 Ответ

14 голосов
/ 07 января 2010

Поскольку вопрос, который вы связали с , утверждает, что ftplib не поддерживает sftp (это FTP через SSH и не имеет ничего общего с FTPS, FTP через SSL). Вместо этого используйте рекомендуемый paramiko .

...