Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы

SCP (Secure Copy Protocol)

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

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.

Материал взят с сайта: http://webhelpcenter.ru/linux_commands/10-udalennoe-kopirovanie-fajlov-s-pomoshhyu-scp.html

SCP (Secure CoPy) — программа для удаленного копирования фалов по сети между хостами.

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

Во время копирования исходного фала в файл назначения, который уже существует, SCP перезаписывает файл назначения. Если файл назначения еще не существует, тогда создается пустой файл, ему задается имя файла назначения и уже в него записывается содержимое копируемого файла.

Пример 1: Копируем файл «file.txt» из удаленного сервера на локальный компьютер.

root@192.168.0.3 [/]# scp user@remote.host:file.txt /some/local/directory

Пример 2: Копируем файл «file.txt» с локального компьютера на удаленный сервер.

root@192.168.0.3 [/]# scp file.txt user@remote.host:/some/remote/directory

Пример 3: Копируем папку «dir1» с локального хоста в директорию «dir2» на удаленном хосте.

root@192.168.0.3 [/]# scp -r dir1 user@remote.host:/some/remote/directory/dir2

Пример 4: Копируем файл «file.txt» с одного удаленного сервера «remote.host1» на другой удаленный сервер «remote.host2».

root@192.168.0.3 [/]# scp user@remote.host1:/directory/file.txt user@remote.host2:/some/directory/

Пример 5: Копируем файлы «file1.txt» и «file2.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере.

root@192.168.0.3 [/]# scp file1.txt file2.txt user@remote.host:~

Пример 6: Копируем файл «file.txt» с локального хоста на удаленный хост, используя порт 2222.

root@192.168.0.3 [/]# scp -P 2222 file.txt user@remote.host:/some/remote/directory

Пример 7: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Сохраняем время изменения и время доступа и права копируемого фала.

root@192.168.0.3 [/]# scp -p file.txt user@remote.host:~

Пример 8: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Увеличиваем скорость работы SCP изменяя алгоритм шифрования с AES-128 (по умолчанию) на Blowfish.

root@192.168.0.3 [/]# scp -c blowfish file.txt user@remote.host:~

Пример 9: Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Ограничиваем ширину канала используемого командой SCP до 100 Kbit/s.

root@192.168.0.3 [/]# scp -l 100 file.txt user@remote.host:~

Пример 10: Копируем несколько файлов с удаленного хост в текущую директорию на Вашем локальном хосте.

root@192.168.0.3 [/]# scp user@remote.host:~/\{file1,file2,file3\} .
Материал взят с сайта: https://www.shellhacks.com/ru/copy-files-ssh-10-examples/

Главная > Программы