SCP: копируем файлы между машинами через SSH
Когда нужно перекинуть файл на сервер или забрать с него — не открываю FTP и не настраиваю общие папки. SCP работает поверх SSH, шифрует трафик и не требует дополнительной настройки, если SSH уже есть.
Базовый синтаксис
scp [опции] file_name user@destination_host:destination_directory
Команда копирует файл на удалённый хост в указанную директорию под нужным пользователем.
Пример:
scp -v file.pdf [email protected]:.
Флаг -v — подробный вывод, удобно видеть, что происходит при передаче.
Копирование директорий
Чтобы скопировать папку целиком — добавляю -r:
scp -r /root/documents [email protected]:.
Скачивание файлов с сервера
SCP работает в обе стороны. Чтобы забрать файл с удалённой машины:
scp username@remote_host:/path/to/remote/file /path/to/local/folder
Пример:
scp [email protected]:/home/user/file.txt ~/Downloads/
Где:
user— имя пользователя на удалённом сервереexample.com— адрес сервера/home/user/file.txt— путь к файлу на сервере~/Downloads/— куда сохранить локально
Скачивание директории
Та же опция -r, только команда направлена с сервера на локальную машину:
scp -r [email protected]:/home/user/documents ~/Downloads/
Полезные опции
-P <порт>— указать нестандартный SSH-порт-i <ключ>— указать приватный ключ для авторизации-C— включить сжатие данных при передаче
Пример с нестандартным портом и ключом:
scp -P 2222 -i ~/.ssh/id_rsa [email protected]:/home/user/file.txt ~/Downloads/
SCP удобен для быстрой и зашифрованной передачи отдельных файлов. Для больших объёмов данных или регулярной синхронизации лучше использовать rsync — он умеет докачивать только изменённые части файлов.
Документация: man.openbsd.org/scp
Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.