Олег Букатчук

Утилита SCP: удалённое копирование данных в Linux

Авг
20

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

Приступим, как всегда начнём с инсталляции.

Установка SCP

$ sudo apt-get update
$ sudo apt-get install scp*

Опции при работе с SCP

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

$ scp -с, cipher

Опция дает возможность указать ключик для RSA-аутентификации.

$ scp -i, identity_file

С этой опцией можно ограничить пропускную способность заданную в Kb/sec.

$ scp -l, limit

Сохраняет время модификации, права и время доступа, как у файла-оригинала.

$ scp -p

Дает возможность копировать рекурсивно папки и файлы в них.

$ scp -r

Следующий параметр включает режим отладки.

$ scp -v

Служит для предотвращения запросов ввода пароля или ключевых фраз.

$ scp -B

С этой опцией можно выключить индикатор прогресса.

$ scp -q

С этой опцией можно включить сжатие.

$ scp -C

С помощью этого флага можно указать альтернативные файлы настроек для ssh.

$ scp -F, ssh_config

Этот параметр полезен для передачи опций не имеющих специальных флагов командной строки scp.

$ scp -о, ssh_option

Если вам нужно передать данные по не стандартному порту, то с помощью этой опции вы легко сделаете это.

$ scp -P, port

Название программы (program), используемой для зашифрованного подключения.

$ scp -S, program

Принуждает scp использовать только IPv4 адреса.

$ scp -4

Принуждает scp использовать только IPv6 адреса.

$ scp -6

Практика применения CSP

Копирование файла на удаленную машину (начнется копирования файла, но если на другом сервере установлен пароль, то удаленный хост попросит вас его ввести).

$ scp /home/home_user/your_file.tar user@11.22.33.44:/home/remote_user/

Рекурсивное копирование содержимого папок или файлов на удаленную машину:

$ scp -r /home/home_user/ user@11.22.33.44:/home/remote_user/

Копирование файла с удаленной машины на свой хост:

$ scp user@11.22.33.44:/home/remote_user/your_file.tar /home/home_user/

Рекурсивное копирование содержимого файлов или папок с удаленного сервера на свой хост:

$ scp -r user@11.22.33.44:/home/remote_user/ /home/home_user/

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

$ scp source_user@11.22.33.44:/home/source_user/your_file.tar destination_user@44.33.22.11:/home/destination_user/

Ну вот и всё. Надеюсь данная информация сэкономит вам время и облегчит реализацию повседневных процедур при администрировании Linux.