Некоторое время назад я создал полную FTP-библиотеку. Теперь я хочу подключиться к серверу SFTP. Насколько я выяснил в своем исследовании, это невозможно с использованием ftplib. Тем не менее я попытался подключиться к серверу только по SFTP, и он работал без проблем. Никакой ошибки и никакого исключения!
Теперь я немного запутался, так как не уверен, действительно ли это безопасное соединение (что важно для этого приложения). Тем более что подобных кейсов в сети найти не удалось. Это подводит меня к следующим вопросам:
- Как узнать, зашифровано ли соединение? (текущий статус: не зашифровано)
- Если соединение не зашифровано: как я могу поддерживать SFTP без необходимости перекодировать всю мою библиотеку?
Это базовый код, который я использую:
server = 'host-adress'
user = 'username'
password='password'
ftp = FTP(server)
ftp.login(user,password)
Все операции, такие как загрузка и загрузка файлов, работают нормально.
Согласно моему хосту, сервер настроен как SFTP.
Ведение журнала возвращает это как результат:
*cmd* 'USER username'
*put* 'USER username\r\n'
*get* '331 Password required for username\n'
*resp* '331 Password required for username'
*cmd* 'PASS ********'
*put* 'PASS ********\r\n'
*get* '230 User username logged in\n'
*resp* '230 User username logged in'
FTP.set_debuglevel
и покажите нам журнал. - person Martin Prikryl   schedule 22.03.2017FTP_TLS
вместоFTP
(см. Мой отредактированный ответ). Вполне вероятно, что именно это имеет в виду ваш хост. - person Martin Prikryl   schedule 23.03.2017