SCP LINUX. Удаленное копирование и перенос данных
Эта статья посвящена использованию scp в linux — что это за команда, и, как ее использовать для защиты передачи файлов.
Для начала — SCP включает шифрование через соединение SSH (Secure Shell). Это гарантирует, что даже если данные будут перехвачены, они будут защищены.
А теперь к статье
Копирование файлов с локального на удаленный сервер при помощи SCP
Команда scp
позволяет использовать подстановочные знаки.
Используйте символ тильды ~/
для обозначения home/user
каталога пользователя. Также можно указать строку текста со знаком *
.
Например, /~/*.txt
заставит SCP скопировать все файлы в домашнем каталоге, которые заканчиваются на .txt
.
Как правило, не нужно указывать расположение файла в текущем каталоге. Если вы находитесь в каталоге /home/user
и хотите скопировать файл test.txt
на сервер, вы можете ввести следующее:
scp test.txt username2@destination:/location2
Чтобы скопировать все файлы .txt
в домашний каталог username2
, введите следующее:
scp *.txt username2@destination_host:/~/
Если вы укажете только каталог назначения, SCP оставит имя файла как есть.
Чтобы изменить имя файла, определите новое имя файла в месте назначения:
scp test.txt username2@destination_host:/user/home/user1test.txt
В этом примере файл test.txt
копируется с локального компьютера, а затем сохраняется как user1test.txt
в каталоге пользователя системы назначения.
Если удаленная система настроена на прослушивание SSH-запросов на порт, отличный от порта 22 по умолчанию, используйте переключатель -P
, чтобы указать порт:
scp –P 1234 test.txt user2@destination_host:/location2/
Это копирует test.tx
t из вашей локальной системы на целевой хост, используя порт 1234.
Копирование с удаленного хоста на другой удаленный хост
Команда scp позволяет копировать данные с одного удаленного хоста на другой. Чтобы это сделать необходимо использовать вот эту команду:
scp [email protected]:/files/test.txt [email protected]:/files
Это приведет к копированию файла test.txt из каталога /files на host1.com в каталог /files на /host2.com. Система предложит ввести пароль для пользователей user1 и user2 до завершения операции.
Параметры которые можно передать scp
Вот некоторые общие параметры команды scp:
-P
— Указать порт SSH сервера-p
— сохранить метку времени для изменения и доступа (обратите внимание на строчные буквы)-q
— тихий режим, без отображения прогресса или сообщений (все равно будут отображаться ошибки)-C
— Сжимать данные во время передачи-r
— Рекурсивно — включать подкаталоги и их содержимое
Раздел, следующий сразу за параметрами, — это источник (путь) файла, который вы хотите скопировать. Вы можете скопировать из своей системы в удаленную или наоборот.
В следующем разделе указывается место, куда копируется файл. Например:
scp user@local_system:/home/user/test.txt admin@remote_system:/home/user
Это скопирует документ test.txt из пользовательского каталога в локальной системе и поместит копию в каталог учетной записи администратора в удаленной системе.
Чтобы скопировать файл с удаленного хоста на локальный при помощи SCP :
scp user@from_host:file.txt /local/directory/