Что лучше sftp или ftps. Подключение к виртуальному серверу по SSH и SFTP. Подключение к SFTP серверу через другой порт

  • 11.04.2019

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

.jpg

Или применить более сложный вариант, ежели используется порт, отличный от 21:

Ftp://login:password@сайт:35/images/file-1.jpg

Однако же, использование веб-обозревателя в таком разрезе позволит лишь просмотреть или скачать интересующие файлы. Для того, чтобы в полной мере задействовать все плюсы FTP, в качестве клиента следует применить специализированный софт наподобие Файлзиллы ():


Чтобы подключиться через уже настроенный клиент FileZilla к удаленному серверу, необходимо ввести название хоста, в качестве которого используется , соответствующий его домену ( и ), имя пользователя, пароль и порт.

Кстати, в статье о Файлзилле дана не только стандартная информация, но и практические советы по устранению ее уязвимости в плане безопасности (несмотря на кучу плюсов, проблемы такого рода у ней есть, впрочем, как и у других программ подобного профиля), поэтому настоятельно рекомендую прочитать этот материал, перейдя по чуть выше предоставленной ссылке.

Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:


Если расписать этот процесс по пунктам, то получится примерно следующее:

  1. Пользователь активирует клиентское приложение и соединяется с сервером, введя логин и пароль.
  2. Устанавливается управляющее соединение между соответствующими модулями — интерпретаторами протокола со стороны клиента и сервера.
  3. Пользователь посредством клиента посылает команды серверу, определяющие различные параметры FTP-соединения (активный или пассивный режим , порт, вид передачи данных, их тип), а также директивы для действий, которые юзер намерен осуществить (например, удалить, переименовать, закачать файл и т.д.).
  4. После того, как установлены все необходимые параметры, один из участников (к примеру, клиент), являющийся пассивным, становится в режим ожидания открытия соединения на порт, который задан для передачи информации. Затем активный участник открывает соединение и начинает передавать данные по предназначенному для этого каналу.
  5. По завершении передачи это соединение закрывается, но управляющий канал между интерпретаторами остается открытым, вследствие чего пользователь в рамках той же сессии может вновь открыть передачу данных.

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

Однако, в интернете довольно много бесплатных ФТП-серверов, по сути являющихся библиотеками разного рода файлов, которые предназначены для хранения и скачивания текстовых документов, музыки, фото, видео, дистрибутивов программ и т.п.

В этом случае зарегистрированный пользователь после авторизации имеет весьма ограниченный доступ к определенным каталогам и может осуществлять только лишь некоторые установленные операции с их содержимым (скажем, просматривать и скачивать файлики).

Кроме стандартного соединения с сервером, предусматривающего ввод данных аутентификации, существует понятие анонимного FTP , когда любой пользователь может подключиться к серверу без предоставления персональных данных. Если при этом использовать браузер в качестве клиента, то адрес доступа к файлу может быть упрощен и представлен так:

Ftp://сайт/images/file-1.jpg

На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.

Безопасный ФТП (SFTP, FTPS и с использованием SSH)

Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

Но с развитием Мировой Паутины ее частью стал помянутый APRANET, а, следовательно, и технология FTP перекочевала туда же, поскольку обладала многими преимуществами. Однако, одновременно на несколько порядков возросла опасность несанкционированного доступа.

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

По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP» . Вот какие разновидности протокола соответствуют этому термину:

1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

1.1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.

1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».

2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell - безопасная оболочка).

Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.

3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?

Дело в том, что если несколько SSH-клиентов устанавливают туннель для управляющего канала, который изначально осуществляется через 21 порт (а такая ситуация практически всегда и наблюдается), то защищенным окажется именно этот канал. При передаче же данных клиентское программное обеспечение откроет новые TCP-соединения, которые будут находиться уже вне воздействия защитной оболочки SSH.

Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.

Сегодня по плану - все о технологии FTP. Расскажу, что такое ftp-серверы и аккаунты (доступы), где используются и как применяется.

FTP — что это такое?

FTP - стандартный TCP-сетевой протокол для передачи файлов, используемый чтобы организовать отправку и прием файлов с удаленного компьютера или сервера.

Чтобы передать файл по TCP-порту через протокол ФТП, FTP-клиенту нужно связаться с настроенным и запущенным FTP-сервером. Подобная организация передачи файлов наиболее часто используется веб-разработчиками - когда с ПК нужно получить доступ к «внутренностям» сайта и что-нибудь там изменить, улучшить.

Как и HTTP (что это такое?), протокол FTP построен на «клиент-серверной» архитектуре и использует несколько сетевых соединений, чтобы передавать команды и файлы между «клиентом» и «сервером».

Доступ к сайту по фтп аккаунту - что это? Это функция, позволяющая просматривать, изменять, скачивать и загружать файлы. Для получения клиентом доступа к FTP-серверу сайта нужно пройти аутентификацию - ввести логин и пароль. Для отправки имени используется команда «USER», для отправки пароля - команда «PASS».

Если сервер принимает пару логин:пароль, то он отправляет клиенту приглашение. Клиент принимает приглашение и начинается сессия.

У FTP предельно простой синтаксис, описанный в спецификации RFC1738 (данные в квадратных скобках необязательны для заполнения) - ftp://[[:]@][:]/.

Пример 1 - ftp://ftp..txt

Пример 2 - ftp://UNIQUE_USER:[email protected]

Также есть т.н. «анонимный FTP» - когда любой пользователь может анонимно подключиться к ФТП серверу без предоставления данных USER/PASS. Для сессий такого типа предоставляется ограниченный доступ.

Пользователи осуществляют анонимный вход как «anonymous» (имя пользователя), но бывает и так что просят ввести email-адрес вместо пароля. Конечно же, никто не проверяет эти адреса на предмет достоверности.

Анонимный FTP-хосты достаточно популярны, ведь они часто используются для скачивания и обновления ПО на ПК. Более того, доступ может быть организован и через обычные браузеры - ведь они могут напрямую извлекать файлы с FTP-серверов. Происходит это очень просто - при указании FTP-адреса фтп-контент предоставляется точно также как веб-контент при HTTP. А в браузере Фаерфокс можно даже установить полноценный FTP-клиент - FireFTP.

Несмотря на то что работать с FTP можно в браузере, FTP довольно сильно отличается от HTTP:

Особенности протокола FTP:

  1. Использование множественного подключения, минимум - двойного. Один канал - управляющий, через него поступают команды для фтп-сервера и возвращаются ответы; другие каналы используются для передачи данных: одна передача - один канал (для каждого открывается TCP-порт). Благодаря этому свойству, в обоих направлениях одновременно можно передавать несколько файлов, а управляющий поток остается открытым на все время ftp-сессии.
  2. В FTP-протоколе есть двоичный режим передачи данных - при котором уменьшается время передачи файлов и расход трафика. В HTTP такого нет.
  3. По FTP-протоколу проводятся операции в рамках одной сессии с помощью TCP/IP - пока сервер «не забыл» текущее состояние и авторизованного пользователя. В HTTP сессий нет: он просто отдает данные.

FTP имеет три режима передачи данных:

  • Поточный - непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP);
  • Блочный - FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP;
  • Режим сжатия данных единым алгоритмом.

Что такое безопасный FTP: FTPS и FTPES, SFTP, SSH-FTP?

Вы наверное уже поняли, что обычный FTP не является безопасным, потому что данные не шифруются при передаче. Это можно исправить, например используя протокол SSH, который зашифрует пару логин:пароль и передаваемое содержимое. Сейчас расскажу подробнее обо всех безопасных FTP - FTPS, SFTP, SSH-FTP.

Откровенно говоря, FTP и не задумывался как безопасный при создании. Так его и сделали с многочисленными уязвимостями, список которых на 1999 год был примерно таким: захват портов и перехват пакетов, сниффинг и спуффинг, брутфорс и скрытые атаки.

FTP был разработан до TLS/SSL и просто физически не может шифровать свой трафик, поэтому любой человек, который способен перехватить пакет по сети, получит данные к именам пользователей, паролям, командам, а значит обретет доступ к приватному FTP-серверу. А доступ к FTP сайта это очень важно - можно много дел натворить.

Решение этой проблемы - использование защищенных версий протокола ФТП. Например, неявный FTPS это TLS-защищенная версия FTP, а SFTP/SCP защищены Secure Shell. Расскажу подробнее о защищенных FTP.

Явный FTPS (FTPES, FTP over Explicit SSL/TLS) - расширенный FTP, создающий возможность «клиентам» требовать шифрование FTP-сессии при использовании команды «AUTH TLS». В ответ на нее, сервер может позволить создать такое соединение или отклонить запрос. Порт - 21. Есть еще неявный FTPS (требует SSL- или TLS-соединение), но он устарел.

SFTP (англ. «SSH File Transfer Protocol») - расширение протокола SSH. Он никак не связан с FTP, но точно также передает файлы и использует те же команды. SFTP использует Secure Shell (SSH) для передачи файлов, т.е. шифрует и файлы, и команды (не передает данные по сети в открытом виде). Порт - 22 или 2222. Функционально SFTP близок к FTP и очень похож на него, но клиенты стандартного ФТП не могут подсоединиться к SFTP-серверу, как и наоборот.

SFTP, используемый как подсистема второй версии реализации протокола SSH, имеет ряд преимуществ перед FTP:

  • Поддержка аутентификации «без пароля» с помощью SSH-ключей более безопасная, чем если хранить пароль на диске или вводить вручную;
  • Поддержка символических ссылок;
  • SFTP-соединение более быстрое и надежное, когда в FTP бывают тормоза и перебои;
  • SFTP-клиенты обладают возможностями прерывания и возобновления передачи файла, его удаления; загруженные файлы могут иметь метки времени, связанные с атрибутами файлов - а в FTP нет условйи для загрузок.

FTP через SSH (обратите внимание, SSH-FTP это не SFTP) - осуществляет обычную FTP-сессию, соединяясь через безопасный SSH-туннель. Такое тунеллирование затруднительно, т.к. FTP открывает несколько TCP-соединений. Это значит, что при установке несколькими SSH-клиентами туннеля для канала управления (по порту 21) защищенным будет только этот один канал, а передача данных пойдет по вновь созданным каналам данных (TCP-соединения), обходящим SSH и от этого являющимися небезопасными.

Еще раз повторю, не нужно путать FTP через SSH с FTPS, SFTP, SCP - последние более безопасные.

Что такое FTP-сервер?

FTP-сервер - «библиотека» файлов на хостинге , используется для хранения файлов разных форматов. Соединение между FTP-сервером и FTP-клиентом происходит по протоколу передачи данных FTP.

Самые популярные ftp-сервера это vsftpd и proftpd. Их настройка осуществляется в файлах.ftpaccess.

ФТП-сервера нужны для того, чтобы размещать на них для публичного и приватного скачивания больших объемов данных: как по количеству файлов, так и по их размеру. Часто такие сервера используются для анонимного (гостевого) доступа к размещенным в открытом виде дистрибутивов ПО, музыки и фото. Доступ для анонимов как правило позволяет только просматривать каталоги и скачивать требуемую информацию, но на некоторых серверах наоборот - есть спецкаталоги, куда любой аноним может загрузить файл для обмена.

При неанонимном доступе возможности пользователя шире (можно загружать файлы), но строго ограничиваются тем каталогом, куда ему предоставлен доступ, даже если «выше» или «по соседству» есть другие каталоги с файлами других пользователей.

Несмотря на то, что работа с FTP-серверами может быть организована из браузера, я бы рекомендовал пользоваться программами-клиентами - в случае обрыва связи с сервером они позволят докачать файл как только связь будет восстановлена.

Ну и кратко о наиболее популярных FTP-клиентах - программах для доступа к FTP-серверам с шифрованием передаваемых данных:

  • WS_FTP;
  • LeechFTP;
  • CuteFTP;
  • FileZilla - самый популярный FTP-клиент для Windows/Mac/Linux. Есть поддержка FTPS, SFTP.
  • FAR Manager - самый «древний» консольный файловый менеджер для Виндоуса. Очень простой, имеет много плагинов, поддерживает SFTP (нужен плагин WinSCP).
  • Total Commander - теряет популярность (на любителя) и поддерживает FTPS. Плагины для SFTP, к сожалению, устаревшие.
  • FireFTP - а это вообще плагин для Мозиллы Фаерфокс. Есть поддержка FTPS, SFTP.
  • Cyberduck - фтп клиент для маков, поддерживает FTP/SFTP.
  • WinSCP - минималистичный и красивый SCP-, FTP- и SFTP-клиент для Виндоуса.

Лично я пользуюсь WinSCP.

Подведу итог. В чистом виде, ФТП не предназначен для безопасной передачи файлов по сети, хоть и является стандартом. Я рекомендую более безопасные протоколы с шифрованием FTPS и SFTP.

Успехов при работе по FTP!

У читателя есть выбор - FTP, SFTP, SSH. Остается сделать его осознано. Поэтому нужно разобраться в достоинствах и недостатках каждой технологии передачи файлов по сети.

Для анализа мы возьмем идеальный вариант, когда файлы для загрузки расположены на локальном жестком диске, в одной из папок. Закачка файлов по протоколу FTP (File Transfer Protocol) не отличается от его собрата SFTP (Secured File Transfer Protocol), который является более усовершенствованной (читайте, защищенной и от того более медленной) версией первого. Для закачки по одному из этих протоколов хорошо подходит всем известный файл-менеджер Total Commander . Найти и скачать его в Интернете очень просто, поэтому здесь не будем заострять внимание читателя.

Нужно открыть папку файлов для загрузки через менеджер, выделить их одним из удобных способов (Ctrl+A, «звездочка» на цифровой клавиатуре и т.д.), упаковать в один архив комбинацией клавиш Alt+F5, после чего выбрать один из типов будущего архива (ZIP или TGZ). Если все процедуры выполнялись в левом окне, то, по умолчанию, новый архив окажется в правом окошке и наоборот.

После этих процедур нужно связаться с FTP (SFTP) сервером хостинга. Для этого нужно знать данные из письма, которое приходит от хостера после активации учетной записи пользователя. Вам нужно знать:

  1. Имя хоста для загрузки.
  2. Логин для подключения.
  3. Пароль подключения.

Настройка FTP-соединения в файловом менеджере выполняется после нажатия комбинации Ctrl + F, а затем кнопки «Добавить». После этого следует приступить к заполнению формы подключения:

  • Имя соединения (здесь можно набирать любое название);
  • Сервер (здесь нужно указать FTP имя хоста, точнее, его IP адрес);
  • Учетная запись (здесь записывается логин);
  • Пароль (ищем в письме от хостера).

Нажатием клавиши OK сохраняем внесенные настройки.

В появившемся окошке соединения с FTP-сервером выбираем новое ранее созданное соединение и кнопку «Соединиться». Мы оказываемся на сервере хостера, где корневой каталог сайта будет размещен в « /www/имя _домена/». Далее нужно зайти в эту папку и из другого окна Total Commander скопировать архив кнопкой F5. Почему нужно упаковать файлы в архив? Так он будет быстрее записан на сервер, а при SFTP-соединении такая процедура будет проходить еще медленнее из-за повышенной степени защиты.

Использование Total Commander не является панацеей от всех бед, однако помогает значительно упростить процедуру закачки файлов на хостинг.

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

А что же с SSH? Говоря простыми словами, если предыдущие протоколы изначально разрабатывались для простой передачи файлов, что здесь можно говорить об изначальном создании защищенного протокола, создающего туннель между пользователем и сервером в любой среде передачи. О большой функциональности такого протокола говорить не стоит, однако если вы хотите получить самую высокую степень защиты – этот протокол подойдет оптимально. Некоторые хостеры предоставляют доступ по такому протоколу за отдельную плату, поскольку, кроме всего прочего, протокол позволяет удаленно запускать любые программы на сервере. В этом его главное преимущество.

Этот документ поможет Вам выполнить подключение к Вашему виртуальному серверу по протоколам SSH и SFTP.

SSH (англ. Secure SHell - «безопасная оболочка») - сетевой протокол сеансового уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.

SFTP (англ. SSH File Transfer Protocol) - протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Существует заблуждение, что SFTP это просто обычный FTP, работающий поверх SSH. В действительности SFTP - это новый протокол, разработанный с нуля.

Данные для подключения к виртуальному серверу

Все данные, необходимые для подключения к Вашему виртуальному серверу по SSH, Вы можете получить на главной странице панели управления .

Нам необходимо знать IP адрес виртуального сервера (1) и пароль для пользователя root (2).

Получив необходимые данные для подключения, можно приступать непосредственно к процессу.

Подключение к виртуальному серверу по SSH из Mac OS X или Linux

Пользователи операционных систем Mac OS X или Linux могут использовать стандартное приложение terminal для подключения к виртуальному серверу по SSH протоколу. Для подключения к Вашему виртуальному серверу используйте следующую команду (измените 188.127.236.62 на IP адрес вашего виртуального сервера):

Ssh [email protected]

Так выглядит процесс подключения к виртуальному серверу в терминале Unix или Mac OS X:

Ssh [email protected] The authenticity of host "188.127.236.62 (188.127.236.62)" can"t be established. RSA key fingerprint is 4f:e8:84:42:51:80:48:70:45:6c:69:47:79:e7:c0:56. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added "188.127.236.62" (RSA) to the list of known hosts. [email protected]"s password: #

Подключение к виртуальному серверу по SSH из Windows

Пользователи операционной системы Windows могут использовать для соединения с виртуальным сервером по протоколу SSH программу PuTTY. PuTTY - очень популярный telnet/ssh клиент, распространяется бесплатно.

Официальный сайт программы - http://www.chiark.greenend.org.uk/~sgtatham/putty/ Русскоязычный сайт поддержки - http://putty.org.ru/

После запуска программы вы увидите следущее окно:

Введите в поле “Host Name (or IP address)” IP-адрес Вашего виртуального сервера (на примере вводится helios.asu). Убедитесь, чтобы в пункте “Protocol” была выбрана радио-кнорка “SSH”.

Также, для того, чтобы каждый раз не вводить адресс и тип протокола вы можете сохранить сессию. Для этого введите ее название в поле “Saved Sessions” и нажмите кнопку “Save”.

После этого ваша сессия появится ниже в списке. Для того чтобы загрузить сохраненную сессию нужно выбрать ее из списка и нажать кнопку “Load”.

Для подключения нажмите кнопку “Open” внизу формы. Может появиться следующее сообщение:

Если вы уверены в том, что подключаетесь к нужному хосту, то нажмите кнопку “Yes/Да”. Появится следующее:

Введите свой логин (root), затем пароль. Перед вами консоль системы:

Для выхода введите:

Подключение к виртуальному серверу по SFTP

По умолчанию вам не нужно настраивать FileZilla, мы просто сразу начнём работать с программой.

Для того, чтобы подключиться к SFTP-серверу, введите IP-адрес вашего виртуального сервера в поле быстрого подключения (вместо example.com, как показано на рисунке ниже введите sftp://ip_адрес_вашего_vps). Введите порт подключения в соответствующее поле, для SFTP - 22. Введите имя пользователя и пароль, в соответствующие поля. Нажмите на кнопку “Быстрое соединение” или нажмите Enter для подключения.

Отметим, что панель быстрого подключения, как ясно из названия, приспособлена для быстрых подключений, т.е. у вас нет возможности редактировать список из 10-ти последних подключений. Для сохранения параметров подключения используйте Менеджер Сайтов.

Используйте Менеджер сайтов FileZilla для задания определённых параметров сайта и подключения к нужному SFTP-серверу. В Менеджере сайтов у вас есть возможность сохранять свои подключения и настраивать большее число параметров, чем доступно в панели быстрого подключения.

После подключения, в правой стороне главного окна будет отображён список файлов и директорий. Текущая директория будет показана в редактируемом поле в верхней части. Ниже отображается удалённое дерево директорий, а ещё ниже - содержимое текущей удалённой директории. Перейти в другую директорию можно тремя разными путями. Первый: сделайте двойной щелчок на директории в списке. Второй: кликните на директории в дереве. Последний способ: введите имя директории в редактируемое поле и нажмите Enter. Обратите внимание на директорию “..”, присутствующую практически во всех остальных директориях. Эта ссылка позволяет вам перейти к родительскому каталогу текущей директории.

Навигация на вашем компьютере работает почти так же, как и на сервере. Текущая локальная директория и дерево каталогов по умолчанию отображаются на левой стороне главного окна.

Подробную документацию по работе с FileZilla, Вы можете найти на официальном сайте по адресу http://filezilla.ru/documentation/Using

Условия использования документа

Материал представленный на данной странице может быть использован Вами по своему усмотрению. Разрешается копирование и распространение предоставленного материала без изменения содержания и без предварительного уведомления администрации Clodo.ru .

Мы будем признательны Вам за сообщения об ошибках в представленной документации и за предложения об улучшении документации. По этим вопросам необходимо обращаться по адресу [email protected] . При обращении не забывайте указывать URL-адрес публикации.

(SSH протокол передачи файлов) представляет собой протокол, который обеспечивает передачу файлов и манипуляции возможностями. Он может работать над любым надежным потоком данных, но обычно используется с SSH

  • «FTP over SSH» использует обычный старый протокол FTP, но между клиентом и сервером размещается SSH tunnel .
  • Возможно, вы не найдете библиотеки для «FTP через SSH», поскольку, как правило, туннель настраивается путем запуска SSH-команды, и после его настройки клиенты и серверы не должны знать о туннели; они просто открывают порты и передают данные так, как они могли бы без туннеля.

    BTW, еще один вариант для вас может быть FTP over SSL (FTPS) , который поддерживается.NET. (См. http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx .)

    5

    " Вероятно, вы не найдете библиотеки для «FTP через SSH» - есть хотя бы один:-). Rebex File Transfer Pack (http://www.rebex.net/file-transfer-pack/default.aspx) способен запускать FTP через SSH-канал. Это возможно, потому что наш класс SshSession может использоваться как (вид) прокси для класса Ftp (технически он может использоваться как фабрика классов для создания коммуникационных сокетов для компонента FTP). Он даже способен запускать такую ​​странность, как SFTP-протокол по каналу SSL (вместо SSH), однако мы не нашли сервер, который его поддерживает. - Martin Vobr 24 сен. 09 2009-09-24 00:47:04

    3

    SFTP - фактически другой протокол, который проходит через SSH - расширение SSH, если хотите. Люди склонны использовать SFTP, а не туннелировать FTP через SSH.

    Для полной поддержки SFTP в.NET попробуйте edtFTPnet/PRO . Прошло много времени с поддержкой множества различных SFTP-серверов.

    28

    В принципе, существуют следующие протоколы передачи файлов вокруг:

      FTP - старый добрый FTP протокол, который был примерно с 1970-х годов. Аббревиатура означает «Протокол передачи файлов». Он обычно проходит через порт TCP 21.

      SFTP - другой, совершенно другой протокол передачи файлов, который не имеет никакого отношения к FTP. SFTP проходит через сеанс SSH, обычно на TCP-порту 22. Он существует с конца 1990-х годов. Аббревиатура фактически означает «SSH File Transfer Protocol».

      FTP через SSH - 1) возможно, но крайне редко, например, протокола FTP туннелируется через SSH канал 2) неправильно названный SFTP

    Отказ от ответственности: Я работаю для Rebex

    4

    Я только что создал .NET SFTP Library . Одна из вещей, которые я узнал в процессе, - это то, как разные FTP-файлы относятся к SFTP. Вы фактически общаетесь с сервером SSH вместо FTP-сервера. Это не просто протокол, команды совершенно разные, которые вы отправляете на SSH-сервер.

    link Моя библиотека.

    0

    Я использовал SharpSSH в течение многих лет, и он отлично работает. Хотя он не видел каких-либо разработок в течение некоторого времени, исходный код легко понять и работать. Я сделал хитрости и повторно скомпилировал их для своих проектов без проблем, хотя он отлично работает как-то без необходимости в любом из них.

    Если вам не нужно ничего делать, вы также можете написать свою собственную.NET-оболочку для клиента PSFTP.EXE PuTTY с очень минимальным кодом.

    Хотя я никогда не использовал SFTP-библиотеку Грега Финцера, я знаю его лично и твердо верю, что у него качественный продукт, если вам нужно что-то активно развитое и надежное. Но для простых вещей, у меня был большой успех со свободными вариантами, о которых я упоминал.

    0

    • SFTP означает протокол передачи файлов SSH. Это не FTP через SSL, а не FTP через SSH. SFTP стандартизирован в RFC 4253.
    • FTP обозначает протокол передачи файлов, который определяется RFC 959 и последними дополнениями. FTP очень популярен, но не защищен. Поэтому был введен FTP через SSL, и он называется FTPS или FTP/SSL.

    Для аутентификации SFTP использует ключи SSH, а FTPS - сертификаты X.509.