Копирование файлов по ssh. Команда scp

Сегодня в статье мы рассмотрим пример как можно копировать файлы или даже целые директории через протокол SSH.




SSH — сетевой протокол, позволяющий производить удалённое управление операционной системой, а также туннелирование TCP-трафика (например, для передачи файлов). Данный протокол зашифровывает весь трафик, включая и передаваемые пароли. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.




Для копирования файлов по ssh между компьютерами под управлением Linux применяется команда scp.




Команда scp




Рассмотрим, как можно копировать файлы с одного компьютера на другой по ssh, используя команду scp.




Синтаксис команды scp следующий:




scp [опции] что_копируем куда_вставляем




Аргумент что_копируем и куда_вставляем могут быть, как локальными путями, так и удаленными. То есть можно копировать файлы с удаленного компьютера на локальный и наоборот или же копировать файлы с удаленного компьютера на другой удаленный компьютер.




Копирование файлов




Копирование локального файла на удаленный компьютер




Скопируем локальный файл file.txt на удалённый компьютер в директорию пользователя user.




scp file.txt user@192.168.0.2:/home/user




  • user – это имя пользователя на удалённом ПК.



  • 192.168.0.2 – IP адрес удаленного ПК



  • /home/user – директория пользователя.




Давайте выполним копирование, но уже с указанием порта для ssh.




scp -P 2222 file.txt user@192.168.0.2:/home/user




Копирование файла с удаленного компьютера на локальный




Скопируем файл с удаленного компьютера в нашу текущую директорию.




scp user@192.168.0.2:/home/user/file.txt .




Копирование директории




Скопируем с нашего локального компьютера директорию ~/files на удаленный компьютер в директорию /home/user.




scp -r ~/files user@192.168.0.2:/home/user




Копирование со сжатием данных




Скорость копирования файлов можно увеличить. Сжатие выполняется только при передаче данных, то есть результирующий файл будет в первоначальном виде.




scp -C file.txt user@192.168.0.2:/home/user




Сохранение атрибутов файла




Чтобы результирующий файл получил те же атрибуты что и исходный файл, используется опция -p (не путать с опцией -P для указания порта). При использовании опции -p сохраняются права доступа к файлу, владелец файла, временные метки и так далее.




scp -p file.txt user@192.168.0.2:/home/user




Для получения полной справки по команде scp выполните в терминале:




man scp



[endtxt]



2019-07-04T07:00:52
SSH