Текущее время: 05 дек 2020, 06:22

Русская поддержка форума phpBB

Это сайт русской поддержки phpBB

Удаленное копирование файлов с помощью SCP

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 8 месяцев
Карма: 30
Россия

Сообщение » 31 мар 2019, 19:59

SCP (Secure Copy Protocol) - Это линукс команда для защищенного копирования файлов или папок на удаленный компьютер (сервер) или с него, используя для этого протокол SSH (Secure Shell). SCP является составной частью пакета OpenSSH. Благодаря использованию ssh, SCP является отличной заменой для небезопасного протокола FTP, которой широко используется в Интернете.

Иногда возникает задача передачи файлов с одного сервера на другой.

Приведу примеры как ее использовать.

Заходим на сервер используя SSH протокол , например через программу - PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/)

1. Как копировать файл на удаленный сервер:

Заходим в директорию от куда необходимо скопировать файл/файлы, например file1.zip в директории /home/ , необходимо скопировать на удаленный компьютер в папку /home2/ . Находимся на первом сервере 192.168.0.1

Код: Выделить всё
root@192.168.0.1 [/home/]# scp file1.zip root@192.168.0.2:/home2/

или с любого места
Код: Выделить всё
root@192.168.0.1 [/]# scp /home/file1.zip root@192.168.0.2:/home2/

после ввода у вас запросит пароль к удаленному серверу.
Код: Выделить всё
root@192.168.0.2's password:


т.е. scp файл пользователь@адрес_сервера (IP или домен):каталог на удаленном сервере куда необходимо это скопировать
если необходимо скопировать несколько файлов то их можно указать через пробел, т.е.: file1.zip file2.zip ...

2. Как копировать файлы и папки на удаленный сервер:

например вам нужно скопировать несколько каталогов и в каждом каталоге есть много файлов. Находимся на первом сервере 192.168.0.1

Код: Выделить всё
root@192.168.0.1 [/]# scp -r /home/ root@192.168.0.2:/home2/

после ввода у вас запросит пароль к удаленному серверу.
Код: Выделить всё
root@192.168.0.2's password:


будет все скопировано что находится в каталоге /home/
т.е. scp каталог_от_куда_копировать_папки_и_файлы пользователь@адрес_сервера (IP или домен):каталог на удаленном сервере куда необходимо это скопировать

параметр: -r – рекурсивное копирование папок (включая подкаталоги);

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

Например на удаленном сервере находится file1.zip в директории /home2/, копируем на локальный сервер (там где находитесь) в папку /home/ . Находимся на первом сервере 192.168.0.1

Код: Выделить всё
root@192.168.0.1 [/]# scp root@192.168.0.2:/home2/file1.zip /home/

после ввода у вас запросит пароль к удаленному серверу.
Код: Выделить всё
root@192.168.0.2's password:


т.е. мы скопируем с удаленного сервера файл file1.zip с папки /home2/ к себе в каталог /home/

4. Как копировать файлы и папки с удаленного сервера:

Код: Выделить всё
root@192.168.0.1 [/]# scp -r root@192.168.0.2:/home2/ /home/

после ввода у вас запросит пароль к удаленному серверу.
Код: Выделить всё
root@192.168.0.2's password:


т.е. скопируем с удаленного сервера все что находится в каталоге /home2/ к себе в каталог /home/

параметр: -r – рекурсивное копирование папок (включая подкаталоги);

5. Как копировать файлы с одного сервера на другой находясь на третем.

Код: Выделить всё
root@192.168.0.3 [/]# scp root@192.168.0.1:/home/file1.zip root@192.168.0.2:/home2/

после ввода у вас запросит пароль к удаленным серверам.
Код: Выделить всё
root@192.168.0.1's password:
root@192.168.0.2's password:


т.е. мы скопируем с одного удаленного сервера (192.168.0.1) файл /home/file1.zip на другой удаленный сервере (192.168.0.2) в папку /home2/
находясь на третем сервере (192.168.0.3). Можно копировать файлы а так же и папки, используя параметр -r

Это конечно мало кому понадобится :) но такое возможно.

Возможные параметры SCP:

-r – рекурсивное копирование папок (включая подкаталоги);

-P port – использовать нестандартный порт (по умолчанию 22) – этот параметр следует использовать, если сервер ожидает соединения на нестандартном порту. Этот параметр может быть полезен при соединении из сети, защищенной файрволлом. Запуск SSH-сервера на порту 443 (используемом для защищенных HTTP-соединений) - это лучший способ обойти ограничения, установленные сетевым администратором.

Надеюсь я понятно расписал как можно использовать SCP.

Вернуться в Примеры решений по Linux



Кто сейчас на конференции

Сейчас этот форум просматривают: нет пользователей онлайн и гости: 1