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-соединений) - это лучший способ обойти ограничения, установленные сетевым администратором.