SCP (значения)
- 1 year ago
- 0
- 0
SCP (от англ. secure copy ) — утилита и протокол копирования файлов между компьютерами, использующий, в отличие от утилиты , в качестве транспорта не RSH , а шифрованный SSH . Сходная по функционалу утилита — sftp .
В UNIX-подобных операционных системах одноимённая ( scp ) утилита удалённого копирования файлов часто входит в состав пакета openssh .
Обычно клиент устанавливает SSH-соединение с удаленным хостом и запрашивает запуск процесса SCP на удаленном сервере. Удаленный процесс SCP может работать в одном из двух режимов:
В большинстве программ SCP режим источника обычно запускается с помощью флага -f (from), а режим приемника запускается с помощью -t (to). Эти флаги используются внутри реализации и не документируются вне исходного кода SCP.
SCP не предполагает обмен текстом в оболочке входа при подключении к системе по SSH. Текст, передаваемый c профилем ssh (например, echo «Добро пожаловать» в файле .bashrc), интерпретируется как сообщение об ошибке, а пустая строка (echo «») заставляет SCP зайти в тупик, ожидая завершения сообщения об ошибке.
Программа представляет собой утилиту, реализующий протокол SCP в качестве сервисного клиента. Используется для безопасного копирования.
Одним из наиболее часто используемых вариантов утилиты SCP является консольная реализация на OpenSSH, которая предоставляет большинство функций SSH. Такая программа является безопасным аналогом команды rcp . Реализация должно быть частью всех серверов SSH, которые хотят предоставлять возможности протокола SCP.
Некоторые реализации SSH включают в себя программу SCP2, которая использует протокол SFTP вместо SCP, но предоставляет тот же интерфейс командной строки, что и SCP. Как правило, является символической ссылкой на SCP2.
Синтаксис команды scp схож с синтаксисом команды cp .
Команда копирования локального SourceFile на удалённый хост:
scp SourceFile user@host:/directory/TargetFile
Команда копирования SourceFile с удалённого хоста:
scp user@host:/directory/SourceFile TargetFile
Если ssh работает на другом порту, то тогда указывается:
scp -P port user@host:/directory/SourceFile /directory/TargetFile
Копирование SourceFolder с удалённого хоста внутрь локального TargetFolder (на локальном хосте получится, что SourceFolder будет находиться внутри TargetFolder):
scp -r user@host:/directory/SourceFolder TargetFolder
Поскольку протокол защищенного копирования реализует только передачу файлов, программы с протоколом SCP с графическим интерфейсом встречаются редко, поскольку для его реализации требуются дополнительные функции (как минимум, визуализация файловых директорий). Например, WinSCP по умолчанию использует протокол SFTP. Даже при работе в режиме SCP такие реализации, как WinSCP, обычно не являются чистыми программами SCP, поскольку они должны использовать другие средства для реализации дополнительных функций (например, команду ls). Это, в свою очередь, приводит к проблемам с зависимостью от платформы. Более сложными и продвинутыми инструментами для управления файлами через SSH являются программы с SFTP.