Вопрос

При поиске SFTP-клиента в C # SSH File Transfer Protocol (SFTP) я наткнулся на эти два подходящих проекта - один и два.

Пытаясь понять основы, я наткнулся на это сбивающее с толку Статья в Википедии.В чем разница между SFTP и FTP через SSH?Кажется, ни одна библиотека не поддерживает "FTP через SSH", если он отличается.

Это было полезно?

Решение

Вот в чем разница:

  • SFTP (SSH file transfer protocol) - это протокол, который обеспечивает передачу файлов и возможности манипулирования ими.Он может работать через любой надежный поток данных, но обычно используется с SSH
  • "FTP через SSH" использует обычный старый протокол FTP, но SSH - туннель размещается между клиентом и сервером.

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

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

Другие советы

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

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

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

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

(подробнее см. "Защищенный FTP, FTP/SSL, SFTP, FTPS, FTP, SCP...В чем разница?" страница по адресу Повторный перевод)

Отказ от ответственности:Я работаю на Ребекса

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

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

SFTP - это собственный протокол. FTP через SSH использует FTP после подключения через SSH.

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

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

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

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

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

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

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

Вот ссылка на мою библиотеку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top