Передать и скачать файлы по SSH
Команда scp
это утилита, которая работает по протоколу SSH, а значит, все что вам нужно для передачи файла на компьютер, это чтобы на нем был запущен SSH сервер, а также вы должны знать логин и пароль для подключения к нему. С помощью команды scp вы можете не только перемещать файлы между локальной и удаленной системой, но и между двумя удаленными системами. Для этого тоже будет достаточно знать пароли от них.
Перед тем, как мы перейдем к практике, нужно рассмотреть общий синтаксис команды:
scp опции пользователь1@хост1:файл пользователь2@хост2:файл
Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальной, так и на удаленной машине. А теперь рассмотрим основные опции, которые могут нам понадобиться.
Короткий формат опции
|
Описание
|
---|---|
-1
|
Спользовать протокол SSH1 |
-2
|
Использовать протокол SSH2 |
-B
|
Пакетный режим для передачи нескольких файлов |
-C
|
Включить сжатие |
-l
|
Установить ограничение скорости в кбит/сек |
-o
|
Задать нужную опцию SSH |
-p
|
Сохранять время модификации |
-r
|
Рекурсивное копирование директорий |
-v
|
Более подробный режим |
Скопировать файл по SSH с локальной машины на удалённый сервер
Файл test.txt
будет скопирован на хост 123.123.123.123
в директорию /directory
:
scp /home/test.txt root@123.123.123.123:/directory
Скопировать файл по SSH с удалённого сервера на локальный компьютер
Файл test.txt
будет загружен с сервера 123.123.123.123
на локальный компьютер в папку /directory
:
scp root@123.123.123.123:/home/test.txt /directory
Скопировать файл по SSH с одного удалённого сервера на другой
Необходимо подключится по SSH к серверу, на котором расположен файл, затем выполнить команду:
scp /home/test.txt root@123.123.123.123:/directory
Файл test.txt
будет скопирован на хост 123.123.123.123
в директорию /directory
.
Скопировать папку со всеми файлами и подпапками
Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r
:
scp -r [источник] [получатель]
Подключиться к серверу по нестандартному порту
Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключом -P
:
scp -P номер_порта [источник] [получатель]
Команда подключается по порту 12345
к серверу 123.123.123.123
и копирует на него файл test.txt
с локального компьютера в директорию /directory
:
scp -P 12345 /home/test.txt root@123.123.123.123:/directory
Передать и скачать файлы по SSH в Windows
Увидеть список папок и файлов на сервере можно через pscp.exe
, для этого введите:
pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]
Скопировать файл по SSH с сервера можно командой:
pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]
Скопировать файл по SSH на сервер можно командой:
pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]
Если в пути или в названии файла есть пробелы, используйте кавычки:
pscp “C:\files or docs\file name” root@123.123.123.123:/home