Передать файл по SSH с помощью SCP в Linux
Через SSH протокол можно не только выполнять команды на удалённом сервере, но и скачивать/закачивать файлы. Для этого можно воспользоваться утилитой scp.
Скачивание с сервера
Для скачивания файла через ssh с сервер а необходимо воспользоваться утилитой scp. Команда будет выглядеть так:
scpuser@ip:/папка_откуда/файл /папка_куда/
Вместо "user" и ip надо поставить имя пользователя и ip адрес сервера, с которого необходимо скачать файл.
Вместо "/папка_откуда/файл" надо поставить путь к файлу на удалённом сервере. А вместо "/папка_куда/" поставить путь к папке на локальном компьютере, куда будет сохранён файл.
Если вместо определённого имени файла поставить ключ "-r" тогда будут скопированы все файлы из папки. Если задать ключ "С", то при передаче буде срабатывать компрессия, что ускорит загрузку. В итоге, команда для копирования всех файлов с удалённого сервера на локальную машину будет выглядеть так:
scp -rCuser@ip:/папка_откуда/ /папка_куда/
Закачивание на сервер
Для закачивания файла на сервер в команде сначала необходимо указать путь к файлу (далее в команде "путь_к_файлу") на локальном компьютере:
scpпуть_к_файлуuser@ip:/папка_откуда/файл
Вместо "путь_к_файлу" надо поставить путь к файлу, который будет скопирован с локального компьютера на сервер.
Передача файлов между серверами
Хоть ранее и было сказаны слова про "локальную машину", но использовать команду можно для скачивания и загрузки файлов между удалёнными серверами без передачи себе на компьютер. То есть можно зайти по SSH на один сервер и скачать файл на него с другого сервера через SCP.
Ограничение скорости
У команды SCP есть ключ "l", после которого можно указать ограничение скорости операции. К сожалению, точного значения в битах/байтах задать нельзя. Можно только методом подбора выставить нужную величину. К примеру. Если написать значение в "30000" так:
scp -l 30000 -r user@ip:/папка_откуда/ /папка_куда/
Тогда скорость будет ограничена примерно ~3.7 мегабайт в секунду. Далее изменяя это значение можно подобрать необходимую скорость загрузки.
Скачивание с сервера
scpuser@ip:/папка_откуда/файл /папка_куда/
scp -rC root@10.10.11.18:/etc/letsencrypt/live/. /etc/nginx/cert/
Закачивание на сервер
Все файлы из папки, ключ –r
scp путь_к_файлуuser@ip:/папка_откуда/файл
scp -r /etc/letsencrypt/live/. root@10.10.11.16:/etc/nginx/cert/
scp -r -P 1022 /etc/asterisk/. root@92.100.201.85:/etc/asterisk/new/
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.