yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Как передавать и копировать файлы по SSH в Linux и Windows

Передача файлов между локальным компьютером и удаленным сервером — базовая задача системного администратора. В основном это делается через протокол SSH, так как он шифрует информацию, гарантирует ее доставку и подходит как для Linux, так и для Windows. В статье разберем инструменты для передачи файлов по SSH и примеры использования протокола. 

Инструкции
Иллюстрация для статьи на тему «Как передавать и копировать файлы по SSH в Linux и Windows»
Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys

Принцип работы SSH

SSH (Secure Shell) переводится с английского как «безопасная оболочка». Название отражает суть протокола — он обеспечивает защищенную передачу данных между клиентом и сервером по зашифрованному каналу. 

Для работы протокола нужны две стороны — SSH-клиент и SSH-сервер. По умолчанию соединение устанавливается через порт 22. После успешной аутентификации сервер предоставляет пользователю доступ, а все передаваемые команды и данные шифруются для защиты от перехвата.

Работа SSHРабота SSH
Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

SSH использует ключи шифрования — публичный и приватный. Первый хранится на сервере, а второй есть только у клиента и никому не передается. Сервер проверяет соответствие ключей и разрешает доступ только при успешном результате. 

Открытую часть ключей можно загружать для хранения в облачный каталог с помощью сервиса Evolution SSH Keys от Cloud.ru. 

Настройка SSH-доступа к удаленному серверу

Создайте пару ключей с помощью ssh-keygen. Публичный отправьте в файл authorized_keys на сервере. Теперь можно проходить аутентификацию без пароля.

Проверьте соединение:

Если все получилось, можете отправлять файлы.

SCP (Secure Copy Protocol): копирование через командную строку

SCP — инструмент для копирования файлов в рамках SSH-соединения. Он работает из командной строки и позволяет переносить данные между компьютером и сервером либо между серверами. Файлы будут зашифрованы, поэтому без опасений используйте SCP даже в открытых сетях.

С OpenSSH 9.0 (апрель 2022) команда scp использует SFTP протокол по умолчанию вместо legacy SCP/RCP. Для использования старого SCP протокола используйте флаг -O: scp -O file.txt user@host:/dest/.

Синтаксис команды scp

Синтаксис команды простой. Это выглядит так:

Источник — локальный файл либо файл на удаленном сервере. На использование SSH указывает формат user@host. В остальном SCP работает также, как обычное копирование файлов.

Примеры копирования

Загрузка файла на сервер (upload)

Чтобы передать файл с компьютера на сервер, укажите путь к файлу и каталог назначения: 

Команда поможет сделать копию файла file.txt в нужный каталог на сервере.

Скачивание файла с сервера (download)

Если хотите скопировать файлы с сервера на компьютер, укажите источник и папку, затем выполните команду:

После выполнения команды файл окажется в директории.

Копирование между серверами

Можно передавать файлы между удаленными серверами без сохранения на компьютерах. Поможет команда:

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

Ключевые опции и флаги команды scp

С командой scp применяются флаги для копирования в разных ситуациях. Они упрощают работу с папками, позволяют применять нестандартные настройки и быстрее передавать данные: 

Флаг
Назначение
Примеры использования
-r
Рекурсивное копирование директорий
Передача папки со всеми файлами и подкаталогами
-P
Порта SSH
Использование нестандартного порта вместо 22
-i
Использование приватного ключа
Для подключения нужен конкретный SSH-ключ
-C
Сжатие данных
Для включения сжатия.

Эффективно только при медленных соединениях (<10 Mbps). В современных высокоскоростных сетях обычно замедляет передачу из-за CPU overhead.

Обратите внимание, что флаг -P (заглавная буква) используется в SCP для указания порта, в то время как SSH использует -p (строчная). Это связано с тем, что в SCP -p зарезервирован для сохранения атрибутов файла (времени модификации и прав доступа.

SFTP (SSH File Transfer Protocol) для интерактивной работы с файлами

SFTP — протокол, который работает поверх SSH в интерактивном режиме. Если SCP выполняет одну команду, то SFTP открывает сессию. Вы можете перемещаться по каталогам, просматривать файлы и управлять ими.

Отличие SFTP от SCP

SCP удобнее использовать для быстрого копирования, когда вы знаете, что и куда передавать. SFTP нужен для «ручной» работы. Например, если хотите удалить или переименовать файлы, проверить права доступа. 

Команды в SFTP-сессии

Для подключения к серверу нужна команда sftp user@remote-host. Дальше можно применять «узкие» команды, например:

  • ls — просмотр содержимого каталогов;

  • cd — переход между папками;

  • lpwd — отображение текущего локального каталога;

  • lcd — изменение рабочего каталога;

  • put — загрузка файлов на сервер;

  • get — скачивание файлов;

  • rm, mkdir и chmod — управление файлами и папками. 

Автоматизация пакетной передачи файлов через SFTP

SFTP помогает автоматизировать передачу данных. Создайте файл sftp -b commands.sftp user@host с набором релевантных команд и запустите сессию с параметром -b. Подход подойдет, если загрузки происходят регулярно, и вы хотите обойтись без ручных операций.

Rsync для синхронизации и инкрементного копирования

Rsync — инструмент, с помощью которого выполняется синхронизация файлов по SSH. В отличие от SCP, он использует delta-transfer алгоритм для определения и передачи только измененных блоков файлов, а не целых файлов. Это значительно экономит трафик для последующих синхронизаций. 

Команда:

Флаг -a отвечает за передачу данных в первозданном виде, -v — за путь, а -z — за сжатие. 

Rsync помогает зеркалировать каталоги:

  • --delete убирает из «зеркала» файлы, которых нет в источнике;

  • --exclude отбрасывает ненужное, например, логи.

Работа в Linux: терминал, файловые менеджеры и графические клиенты

В Linux файлы по SSH можно передавать через терминал с помощью утилит scp, sftp и rsync, которые есть в популярных дистрибутивах. Утилиты позволяют вручную выполнять разовые операции и автоматизировать постоянные действия.

Можно работать с помощью файловых менеджеров, которые поддерживают SSH. В Nautilus и Dolphin удобно подключаться к серверу через ssh://user@hostname. В Midnight Commander реализован встроенный режим SFTP для управления файлами из специального интерфейса. При этом этот режим имеет ограничение — он не поддерживает публичные ключи из ~/.ssh/config. Для безопасной работы с публичными ключами используйте Shell link вместо SFTP link.

Если хотите работать через графический интерфейс, ваш выбор — SFTP-клиенты. FileZilla и gFTP позволят подключаться к серверам, передавать данные и управлять удаленными каталогами.

Работа в Windows: от PowerShell до графических клиентов

В свежих версиях Windows есть встроенный OpenSSH-клиент. Его можно включить через «Дополнительные компоненты» в меню «Пуск» . После подключения вы сможете выполнять команды scp и sftp в PowerShell или командной строке. 

Можно использовать набор утилит PuTTY. Вместе с ним применяются pscp и psftp, которые выполняют те же задачи, что и scp и sftp в Linux. 

Работать через графический интерфейс можно с помощью бесплатного клиента WinSCP. Также популярны FileZilla и Cyberduck. Выбирайте их, если хотите максимальной наглядности. 

Продвинутые сценарии и автоматизация

SSH позволяет автоматизировать регулярные задачи. Это важно для бэкапов, синхронизации данных и работы с незащищенными сервисами. 

Использование SSH-агента для простой аутентификации

SSH-агент позволяет использовать пароль от ключа шифрования только один раз, а потом подключаться к серверам без пароля. В Linux для этого применяется ssh-agent, в Windows — Pageant, если работаете с PuTTY. Это выручает при частых подключениях. 

Создание bash-скриптов для автоматической передачи файлов

Передачу файлов можно автоматизировать с помощью bash-скриптов. Например, rsync подойдет для регулярного резервного копирования. Чтобы данные копировались без вашего участия, запускайте скрипт по расписанию. 

Туннелирование FTP и других протоколов через SSH

SSH позволяет создавать защищенные туннели для протоколов, которые не предназначены для безопасной передачи данных. Например, FTP. Файлы будут передаваться через зашифрованный канал, даже если используемый протокол не поддерживает шифрование. 

Безопасность, производительность и решение проблем

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

Аутентификация без пароля и отключение root

Для работы по SSH проходите аутентификацию с помощью ключей, а не паролей. Во-первых, их сложнее подобрать. Во-вторых, они удобнее в автоматизированных процессах. 

Также отключите прямой вход в аккаунт пользователя root и выполняйте работу администратора через sudo. Так можно снизить риски несанкционированного доступа и защитить сервер от типовых атак.

Evolution SSH Keys
Evolution SSH Keys
Легко загружайте открытую часть SSH ключа
Подробнее

Оптимизация скорости

Передачу файлов можно ускорить с помощью тонких настроек и специальных утилит копирования. При медленном соединении включите сжатие файлов. 

Если работаете с rsync, примените дополнительные операции:

  • --progress — отображает ход процесса и помогает установить причину задержек;

  • --partial — сохраняет загруженные файлы при обрыве соединения;

  • --bwlimit — ограничивает скорость передачи.

Типичные ошибки и их исправление

Иногда при передаче данных случаются ошибки. Типичные проблемы и варианты решения:

Ошибка
Что значит
Как исправить
Permission denied
Нет прав на подключение или доступ к файлу
Проверьте имя пользователя и права на файлы и каталоги
Connection refused
Отклоненное соединение
Убедитесь, что SSH-служба запущена и открыт нужный порт
No such file or directory
Неверный путь к файлу или папке
Проверьте настройки, имя файла и регистр символов
Operation timed out
Сервер не отвечает
Проверьте сеть, настройки брандмауэра и доступность сервера
Permission denied
Не подходит SSH-ключ
Укажите другой ключ с помощью флага -i

Выводы

Протокола SSH — стандарт передачи файлов благодаря шифрованию данных. Можно применять SCP, SFTP и Rsync, которые решают разные задачи — от копирования до синхронизации. Упростите процессы за счет автоматизации и ключей для беспарольной аутентификации. 

Продукты из этой статьи:
Иконка-Evolution SSH Keys
Evolution SSH Keys
16 января 2026

Вам может понравиться