SFTP


SFTP (англ. Secure File Transfer Protocol) — протокол прикладного уровня передачи файлов, работающий поверх безопасного канала[1]. Предназначен для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Протокол разработан группой IETF как расширение к SSH-2, однако SFTP допускает реализацию и с использованием иных протоколов сеансового уровня. Разработчики инженерного совета интернета(IETF) заявляют, что, хотя этот протокол описан в контексте протокола SSH-2, он может использоваться в ряде различных приложений, таких как безопасная передача файлов через Transport Layer Security (TLS) и передача информации в приложениях VPN.

SFTP не следует путать с FTPS и FTP через SSH, это скорее новый протокол, разработанный с нуля. Также SFTP иногда из-за совпадающей аббревиатуры путают с Simple File Transfer Protocol, сильно урезанной версией основной технологии FTP. Аббревиатура SSHFTP (SshFTP) широкого распространения не получила.

Этот протокол предполагает, что он работает по защищенному каналу, например SSH, что сервер уже аутентифицировал клиента и что протоколу доступна информация пользователя.

По сравнению с протоколом SCP , который разрешает только передачу файлов, протокол SFTP позволяет выполнять ряд операций с удаленными файлами, что делает его более похожим на протокол удаленной файловой системы . Дополнительные возможности клиента SFTP включают возобновление прерванной передачи, списки каталогов и удаленное удаление файлов.

SFTP пытается быть более независимым от платформы, чем SCP; с SCP, например, расширение символов подстановки, указанных клиентом, зависит от сервера, тогда как SFTP позволяет избежать этой проблемы. Хотя SCP чаще всего реализуется на платформах Unix, серверы SFTP обычно доступны на большинстве платформ. Передача файлов в SCP происходит быстро по сравнению с протоколом SFTP из-за того, что протокол SFTP является двусторонним. В SFTP передачу файлов можно легко прервать без завершения сеанса, как это делают другие механизмы.

Сам протокол не обеспечивает аутентификацию и безопасность; он ожидает, что базовый протокол обеспечит это. SFTP чаще всего используется в качестве подсистемы реализации протокола SSH версии 2, разработанной той же рабочей группой. Однако возможно запустить его через SSH-1 (и некоторые реализации поддерживают это) или другие потоки данных. Запуск SFTP-сервера через SSH-1 не зависит от платформы, поскольку SSH-1 не поддерживает концепцию подсистем. Клиент SFTP, желающий подключиться к серверу SSH-1, должен знать путь к двоичному файлу SFTP-сервера на стороне сервера.