В чем разница между SCP и SFTP?
Обычно я использую команду scp
для передачи файлов на * nixes.
В чем разница между SFTP и SCP? Разве они не работают на SSH?
- Можем ли мы использовать JSch для обмена данными на основе SSH?
- Почему автоматическая установка sshfs с помощью autofs завершается с ошибкой?
- Linux «Top» для Windows Powershell?
- Ошибка сети PuTTY: программное обеспечение вызвало прерывание соединения
- Rsync через SSH с cron в osx-environment
- Отличие локального и удаленного доступа в оболочке (связанный с TERM)
- TortoiseGit с ключом openssh не аутентифицируется с использованием ssh-agent
- Почему мой .bashrc читается, когда я запускаю неинтерактивные команды по ssh
- Могу ли я использовать ssh без scp?
- SSH-соединение под UDP?
- Генерация ключей для SSH
- Если я опечатаю свое имя пользователя при ssh-ing, есть ли способ вернуться и изменить его?
- Как работает шифрование SSH?
В двух словах SCP может использоваться только для передачи файлов, и он не является интерактивным (т. Е. Все должно быть указано в командной строке). SFTP более сложный и позволяет интерактивным командам делать такие вещи, как создание каталогов, удаление каталогов и файлов (все они, конечно же, зависят от системных разрешений) и т. Д.
Из Википедии :
По сравнению с более ранним протоколом SCP, который позволяет передавать только файлы, протокол SFTP позволяет осуществлять ряд операций с удаленными файлами – это больше похоже на протокол удаленной файловой системы. Дополнительные возможности клиента SFTP по сравнению с клиентом SCP включают возобновление прерванных передач, списки каталогов и удаленное удаление файлов. [1] По этим причинам относительно просто реализовать GUI SFTP-клиент по сравнению с клиентом GUI GUI.
а также
Хотя SCP и SFTP используют одно и то же SSH-шифрование при передаче файлов с одним и тем же общим уровнем накладных расходов, SCP обычно намного быстрее, чем SFTP при передаче файлов, особенно в сетях с высокой задержкой. Это происходит потому, что SCP реализует более эффективный алгоритм передачи, который не требует ожидания подтверждения пакетов. Это приводит к более быстрой скорости, но происходит за счет невозможности прервать передачу, поэтому в отличие от SFTP передача SCP не может быть отменена без прекращения сеанса.
С точки зрения чисто командной строки:
- Scp не имеет интерактивного режима и не может читать командные сценарии, это означает, что все должно быть записано в командной строке.
- Sftp имеет интерактивный режим и может читать команды из файла.
Другим важным различием между двумя командами является то, что sftp не может поместить локальный файл в удаленное местоположение с использованием одной командной строки, хотя он может получить удаленный файл, в то время как scp может сделать оба.
Sftp получить удаленный файл
sftp [email protected]:/path/to/remote.file [/path/to/local.file]
Scp получить удаленный файл
scp [email protected]:/path/to/remote.file [/path/to/local.file]
Scp put удаленный файл
scp /path/to/local.file [email protected]:[/path/to/remote.file]
SSH ( S ecure SH ell) – это криптографический сетевой протокол, позволяющий удаленному входу и другим сетевым службам безопасно работать в незащищенной сети.
Различия: SFTP работает в интерактивном режиме (сеанс), а SCP работает на неинтерактивном. Используя SFTP, мы можем получить доступ к удаленной файловой системе, т. Е. Создавать, удалять и перечислять файлы.
Сходства: как SCP ( S ecure C opy P rotocol), так и SFTP ( S SH F ile T ransfer P rotocol) – это сетевые протоколы, которые поддерживают управление файлами между хостами в сети. Оба используют SSH.
Больше
Большинство отличий двух протоколов уже говорилось в других ответах, и более подробно в https://unix.stackexchange.com/q/8707/19088
Другое отличие, согласно документации curl , заключается в том, что протокол SCP не очень портативен и обычно работает только между Unix-системами.
Кстати, curl реализует оба протокола и в отличие от стандартной реализации клиента OpenSSH SFTP, он не является интерактивным для SFTP и SCP.
Обратите внимание, что есть также протокол FISH , который позволяет передавать файлы через SSH без необходимости использования SCP или SFTP. Насколько мне известно, FISH не очень популярна, в настоящее время она реализована в нескольких менеджерах файлов ( Midnight Commander и некоторых из них KDE) и Lftp .