Копирование файлов через SSH (утилита SCP)
Когда необходимо загрузить или скачать несколько файлов с удаленного сервера, не смысла настраивать SFTP и тем более поднимать FTP сервер. Для этих задач существует утилита SCP (secure copy), которая передает файл или каталог через SSH. Утилита похожа по синтаксису на cp.
Копировать файл через SCP
Копировать файл с локального компьютера на удаленный сервер
Синтаксис команды для копирования файла на сервер выглядит следующим образом:
scp <файл на компьютере> <пользователь>@<IP-адрес>:/<каталог сервера>/<опция: имя файла>
Скопируем файл localfile с компьютера на сервер в домашний каталог пользователя root
scp localfile root@80.95.110.25:~/
Скопируем файл localfile с компьютера на сервер в каталог tmp и сохраним его с именем tempfile
scp localfile root@80.95.110.25:/tmp/tempfile
Если сервер SSH работает на нестандартном порту, указываем порт в параметре -P
scp -P 22 localfile root@80.95.110.25:/tmp/tempfile
Копировать файл с удалённого сервера на локальный компьютер
Синтаксис команды для копирования файла с сервера выглядит следующим образом:
scp <пользователь>@<IP-адрес>:<файл на сервере> /<каталог компьютера>/<опция: имя файла>
Скопируем файл /etc/hosts с сервера на компьютер в домашний каталог пользователя
scp root@80.95.110.25:/etc/hosts ~/
Скопируем файл /etc/hosts с сервера на компьютер в домашний каталог пользователя и сохраним его с именем hosts-server
scp root@80.95.110.25:/etc/hosts /home/user/hosts-server
Если сервер SSH работает на нестандартном порту, указываем порт в параметре -P
scp -P 22 root@80.95.110.25:/etc/hosts ~/hosts-server
Копировать каталог через SCP
Копировать каталог с локального компьютера на удаленный сервер
Синтаксис команды для копирования каталога на сервер выглядит следующим образом:
scp -r <каталог на компьютере>/ <пользователь>@<IP-адрес>:/<каталог сервера>/
Скопируем каталог Pictures с компьютера на сервер в каталог tmp
scp -r Pictures/ root@80.95.110.25:/tmp/
Скопируем содержимое каталога Pictures с компьютера на сервер в каталог /tmp/Temp-Pictures/
scp -r Pictures/ root@80.95.110.25:/tmp/Temp-Pictures
Если каталога Temp-Pictures на сервере не существует, то он будет создан и внутри него будет помещено содержимое Pictures каталога. А если каталог существует, то каталог Pictures будет скопирован в каталог Temp-Pictures (путь будет выглядеть так /tmp/Temp-Pictures/Pictures/).
Копировать каталог с удалённого сервера на локальный компьютер
Синтаксис команды для копирования каталога с сервера выглядит следующим образом:
scp -r <пользователь>@<IP-адрес>:/<каталог сервера>/ <каталог компьютера>/
Скопируем каталог /var/log/ с сервера на компьютер в каталог logs-server
scp -r root@80.95.110.25:/var/log/ /home/user/logs-server/
Если каталога logs-server на компьютере не существует, то он будет создан и внутри него будет помещено содержимое /var/log/ каталога. А если каталог существует, то содержимое /var/log/ будет помещено внутри него в каталог с именем копируемого каталога (/home/user/logs-server/log/).