Копирование файлов с помощью SCP
Полное руководство по утилите secure copy в Linux.
SCP (Secure Copy) — это простая и безопасная утилита для копирования файлов и директорий между локальной машиной и удалённым сервером (или между двумя удалёнными серверами) по протоколу SSH. Всё передаётся в зашифрованном виде, поэтому SCP идеально подходит для работы с VPS и выделенными серверами.
SCP использует тот же механизм аутентификации, что и SSH: пароль или SSH-ключи.
Базовый синтаксис
scp [опции] источник назначение
- Источник — файл/папка, которую копируем
- Назначение — куда копируем
Источник или назначение может быть:
- Локальный путь:
/home/user/file.txt - Удалённый путь:
user@server-ip:/path/to/file.txt
Наиболее полезные ключи SCP
-r— рекурсивно (копировать папки со всем содержимым)-Pпорт — указать нестандартный порт SSH (если не 22)-p— сохранить время модификации, права доступа и владельца-v— подробный вывод (показывает процесс и ошибки)-C— включить сжатие (ускоряет передачу по медленным каналам)-iключ — использовать конкретный приватный SSH-ключ-lлимит — ограничить скорость (в Кбит/с), например-l 1000= 1 Мбит/с
Примеры использования
- Скопировать файл с сервера на локальный компьютер
scp user@192.168.1.100:/var/www/site.ru/config.php ~/Downloads/
- Скопировать папку с сервера на локальный компьютер (рекурсивно)
scp -r user@192.168.1.100:/var/www/site.ru/uploads ~/backup/
- Скопировать папку между двумя удалёнными серверами
scp -r user1@server1.example.com:/var/www/site user2@server2.example.com:/backup/
- Скопировать на сервер с нестандартным портом (например 2222)
scp -P 2222 file.txt user@server-ip:/home/user/
- Скопировать с использованием конкретного SSH-ключа
scp -i ~/.ssh/my_key file.txt user@server-ip:/home/user/
Полезные советы
- Всегда используйте
-rпри копировании папок — иначе поддиректории не скопируются - Добавляйте
-vпри проблемах — увидите, на каком этапе происходит ошибка - Для больших объёмов данных лучше использовать rsync — он умеет продолжать передачу после обрыва и экономит трафик
- Если копируете много мелких файлов — добавьте
-Cдля сжатия на лету - Для автоматизации используйте SSH-ключи без пароля (но храните приватный ключ в безопасности)
- SCP работает только по SSH — если SSH не работает, SCP тоже не запустится
Быстрые команды для типичных задач
- Скачать весь сайт (pulic_html) с сервера:
scp -r user@server-ip:/home/user/public_html ~/backup_site/
- Загрузить весь сайт на сервер:
scp -r ./public_html user@server-ip:/home/user/
- Скопировать базу данных (дамп):
scp dump.sql user@server-ip:/home/user/
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!