Jump to content

Протокол безопасного копирования

объект
Разработчик(и) Проект OpenSSH
Репозиторий github /openssh /openssh-портативный /
Написано в С
Операционная система Кросс-платформенный
Тип Команда , протокол связи
Веб-сайт www .openssh

Протокол безопасного копирования ( SCP ) — это средство безопасной передачи компьютерных файлов между локальным хостом и удаленным хостом или между двумя удаленными хостами. Он основан на протоколе Secure Shell (SSH). [1] «SCP» обычно относится как к протоколу безопасного копирования, так и к самой программе. [2]

По словам разработчиков OpenSSH в апреле 2019 года, SCP устарел, негибок и его сложно исправить; они рекомендуют использовать более современные протоколы, такие как SFTP и rsync, для передачи файлов. [3] Начиная с OpenSSH версии 9.0, scp поэтому клиент по умолчанию использует SFTP для передачи файлов вместо устаревшего протокола SCP/RCP. [4]

Протокол безопасного копирования

[ редактировать ]

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

Обычно клиент инициирует SSH-соединение с удаленным хостом и запрашивает запуск процесса SCP на удаленном сервере. Удаленный процесс SCP может работать в одном из двух режимов:

  • исходный режим, который считывает файлы (обычно с диска) и отправляет их обратно клиенту, или
  • режим приемника, который принимает файлы, отправленные клиентом, и записывает их (обычно на диск) на удаленном хосте.

Для большинства клиентов SCP режим источника обычно запускается командой -f флаг (от), в то время как режим приемника запускается с помощью -t (к). [2] Эти флаги используются внутри и не документируются вне исходного кода SCP.

Удаленный переход в удаленный режим

[ редактировать ]

Раньше при безопасном копировании между удаленными узлами клиент SCP открывал SSH-соединение с исходным хостом и запрашивал его, в свою очередь, открыть соединение SCP с пунктом назначения. (Режим удаленного доступа не поддерживал открытие двух SCP-соединений и использование исходного клиента в качестве посредника). SCP нельзя использовать для удаленного копирования из источника в пункт назначения при работе в режиме аутентификации с использованием пароля или интерактивной клавиатуры, так как это приведет к раскрытию учетных данных аутентификации сервера назначения источнику. Однако это возможно с помощью методов на основе ключей или GSSAPI , которые не требуют ввода данных пользователем. [2]

В последнее время режим «удаленный-удаленный» поддерживает маршрутизацию трафика через клиента, который инициировал передачу, даже если он является третьей стороной передачи. Таким образом, учетные данные для авторизации должны находиться только на исходном клиенте (третьей стороне). [7]

Проблемы с использованием разговорных профилей оболочки

[ редактировать ]

SCP не ожидает текстового взаимодействия с оболочкой входа по SSH. Текст, передаваемый благодаря профилю SSH (например, echo "Welcome" в .bashrc файл) интерпретируется как сообщение об ошибке и пустая строка ( echo "") приводит к взаимоблокировке клиента SCP в ожидании завершения сообщения об ошибке. [2]

программа scp

[ редактировать ]

Программа SCP [8] — это программный инструмент, реализующий протокол SCP в качестве сервисного демона или клиента. Это программа для безопасного копирования.

Вероятно, наиболее широко используемой программой SCP является командная строка OpenSSH. scp программа, которая предоставляется в большинстве реализаций SSH. scp программа является безопасным аналогом rcp команда. scp программа должна быть частью всех SSH-серверов, которые хотят предоставлять службу SCP, поскольку scp также функционирует как SCP-сервер. Начиная с OpenSSH 9.0, программа была обновлена ​​для использования нового, более безопасного протокола SFTP ; а -O добавлена ​​опция для использования SCP со старыми серверами, поддерживающими только SCP. [4]

Синтаксис

[ редактировать ]

Обычно синтаксис scp программа [9] похоже на синтаксис cp (копия) :

Копирование локального файла на удаленный хост:

scp LocalSourceFile user@remotehost:directory/TargetFile

Копирование файла с удаленного хоста и рекурсивное копирование папки (с -r переключатель) с удаленного хоста:

scp user@remotehost:directory/SourceFile LocalTargetFile
scp -r user@host:directory/SourceFolder LocalTargetFolder

Обратите внимание: если удаленный хост использует порт, отличный от порта по умолчанию 22, его можно указать в команде. Например, копирование файла с хоста:

scp -P 2222 user@host:directory/SourceFile TargetFile

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

[ редактировать ]

Поскольку протокол безопасного копирования реализует только передачу файлов, клиенты SCP с графическим интерфейсом встречаются редко, поскольку для его реализации требуются дополнительные функции ( каталогов по крайней мере, список ). Например, WinSCP по умолчанию использует протокол SFTP. [10] Даже при работе в режиме SCP такие клиенты, как WinSCP, обычно не являются чистыми клиентами SCP, поскольку им приходится использовать другие средства для реализации дополнительных функций (например, ls команда ). [11] Это, в свою очередь, приводит к проблемам зависимости от платформы.

Более комплексные инструменты для управления файлами через SSH — это SFTP- клиенты.

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

[ редактировать ]

В 2019 году уязвимость CVE - 2019-6111 [12] было объявлено об инструменте и протоколе openssh SCP, позволяющем пользователям перезаписывать произвольные файлы в целевом каталоге клиента SCP.

См. также

[ редактировать ]
  1. ^ «Команда scp для Linux и Unix» . Компьютерная надежда . Проверено 4 августа 2015 г.
  2. ^ Перейти обратно: а б с д Пешанец, Ян . «Как работает протокол SCP» . Блог Яна Печанца . Оракул. Архивировано из оригинала 15 февраля 2017 г. Проверено 4 августа 2015 г.
  3. ^ «ОпенСШ 8.0» . Примечания к выпуску OpenSSH . 17 апреля 2019 г.
  4. ^ Перейти обратно: а б «ОпенСШ 9.0» . Примечания к выпуску OpenSSH . 8 апреля 2022 г.
  5. ^ «scp(1) — страницы руководства OpenBSD (раздел истории)» . Проверено 25 июня 2012 г.
  6. ^ «SCP — протокол безопасного копирования — что это такое, полное определение и примеры команд!» . Загрузки для ПК и сети — PCWDLD.com . 29 июня 2019 г. Проверено 22 мая 2020 г.
  7. ^ Кэрролл, Брэндон (16 августа 2017 г.). «Как использовать Secure Copy для передачи файлов» . Техреспублика . Проверено 22 мая 2020 г.
  8. ^ «Портативный OpenSSH» . Гитхаб . 13 мая 2022 г.
  9. ^ «scp(1) — страницы руководства OpenBSD» https://man.openbsd.org/scp
  10. ^ «Поддерживаемые протоколы передачи файлов::WinSCP» . winscp.net . Проверено 22 мая 2020 г.
  11. ^ «Страница SCP/Shell (диалоговое окно «Дополнительные настройки сайта») :: WinSCP» . winscp.net . Проверено 22 мая 2020 г.
  12. ^ «ПНВ-Cve-2019-6111» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a4ba66e1ccb79a3f5d1e78e1c86faf78__1720760940
URL1:https://arc.ask3.ru/arc/aa/a4/78/a4ba66e1ccb79a3f5d1e78e1c86faf78.html
Заголовок, (Title) документа по адресу, URL1:
Secure copy protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)