Введение

Сетевой протокол для копирования файлов между компьютерами

Протокол безопасного копирования (SCP) – это способ безопасной передачи компьютерных файлов между локальным и удаленным хостом или между двумя удаленными хостами. Он основан на протоколе Secure Shell (SSH). Термин "SCP" обычно относится как к самому протоколу безопасного копирования, так и к программе, использующей его. По словам разработчиков OpenSSH в апреле 2019 года, SCP устарел, недостаточно гибок и его сложно исправить; они рекомендуют использовать более современные протоколы, такие как SFTP и rsync, для передачи файлов. Начиная с версии OpenSSH 9.0, клиент scp по умолчанию использует SFTP для передачи файлов вместо устаревшего протокола SCP/RCP.

Протокол защищенной копии

SCP — это сетевой протокол, основанный на протоколе BSD RCP, который обеспечивает передачу файлов между хостами в сети. SCP использует Secure Shell (SSH) для передачи данных и применяет те же механизмы аутентификации, тем самым гарантируя подлинность и конфиденциальность передаваемых данных. Клиент может отправлять (загружать) файлы на сервер, при этом необязательно передавать их основные атрибуты (права доступа, временные метки). Клиенты также могут запрашивать файлы или каталоги с сервера (скачивать). SCP по умолчанию работает через TCP-порт 22. Как и в случае с RCP, спецификация протокола не определена в RFC.

Другие клиенты

Поскольку протокол Secure Copy предназначен исключительно для передачи файлов, графические клиенты SCP встречаются редко, так как их реализация требует дополнительной функциональности (как минимум, отображения содержимого каталогов). Например, WinSCP по умолчанию использует протокол SFTP. Даже при работе в режиме SCP, такие клиенты, как WinSCP, обычно не являются полноценными SCP-клиентами, поскольку им приходится использовать другие средства для реализации дополнительной функциональности (например, команду ls). Это, в свою очередь, порождает проблемы, связанные с зависимостью от платформы. Более функциональные инструменты для управления файлами по SSH – это SFTP-клиенты.

Безопасность

В 2019 году была обнаружена уязвимость в инструменте и протоколе OpenSSH SCP, позволяющая пользователям перезаписывать произвольные файлы в целевом каталоге на стороне клиента SCP.