2010-04-26 17:36:01 +0000 2010-04-26 17:36:01 +0000
164
164

Какая разница между SCP и SFTP?

Обычно я использую команду scp для передачи файлов на *nixes.

Какая разница между SFTP и SCP? Разве они оба не работают по SSH?

Ответы (5)

105
105
105
2010-04-26 19:36:45 +0000

Из Википедия :

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

и

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

100
100
100
2010-04-26 18:10:26 +0000

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

9
9
9
2016-01-20 11:04:11 +0000

С точки зрения чисто командной строки :

  • scp не имеет интерактивного режима и не может читать командные скрипты, это означает, что все должно быть написано в командной строке.
  • sftp имеет интерактивный режим и может читать команды из файла.

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

sftp получает удаленный файл

sftp user@host:/path/to/remote.file [/path/to/local.file]

scp получает удаленный файл

scp помещает удаленный файл

scp user@host:/path/to/remote.file [/path/to/local.file]
3
3
3
2016-05-25 03:52:12 +0000

SH (S ecure SH ell) представляет собой криптографический сетевой протокол, позволяющий удаленный вход в систему и другие сетевые службы для безопасной работы по незащищенной сети.

Различия: SFTP работает в интерактивном режиме (сеанс), а SCP - в неинтерактивном. С помощью SFTP мы можем получить доступ к удаленной файловой системе, т.е. создать, удалить и перечислить файлы.

Взаимосвязи: Оба SCP( S ecure C opy P rotocol) и SFTP (S SH F ile T runsfer P rotocol) являются сетевыми протоколами, которые поддерживают управление файлами между хостами в сети. Оба используют SSH. более

2
2
2
2017-08-13 19:46:17 +0000

Большинство различий этих двух протоколов уже было сказано в других ответах, и более подробно в https://unix.stackexchange.com/q/8707/19088

Другое отличие, согласно документации curl , заключается в том, что протокол SCP не очень портативен и обычно работает только между Unix-системами.

Кстати, curl реализует оба протокола и, в отличие от стандартной реализации SFTP-клиента OpenSSH, он является неинтерактивным как для SFTP, так и для SCP.

И обратите внимание, что существует также протокол FISH , который позволяет передавать файлы по SSH без использования SCP или SFTP. Насколько я знаю, FISH не очень популярен, в настоящее время реализован всего в нескольких файловых менеджерах Midnight Commander и некоторых, основанных на KDE) и Lftp .

Похожие вопросы

19
12
16
13
9