Подтвердить что ты не робот

Различия между SFTP и "FTP через SSH"

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

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

4b9b3361

Ответ 1

Вот разница:

Ответ 2

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

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

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

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

(подробнее см. Защищенный FTP, FTP/SSL, SFTP, FTPS, FTP, SCP... Какая разница? "страница Rebex)

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

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

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

Ответ 8

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

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