Linux команда копирования файла с удаленного сервера

Содержание
  1. Копирование файлов через SSH
  2. Копирование файлов по SSH на Linux
  3. Как скопировать файл по SSH с локальной машины на удалённый сервер
  4. Как скопировать файлы с удалённого сервера на локальный компьютер
  5. Как скачать папку со всеми файлами и подпапками
  6. Как подключиться к серверу по нестандартному порту
  7. Как передать и скачать файлы по SSH на Windows
  8. Копирование файлов и запуск команд через SSH
  9. Работаем на ОС семейства Linux
  10. Работаем на ОС семейства Windows
  11. Запуск команд на удаленном сервере через SSH-подключение
  12. Работаем на ОС семейства Linux
  13. Работаем на ОС семейства Windows
  14. Как использовать команду SCP для безопасной передачи файлов
  15. Синтаксис команды SCP
  16. Подготовка
  17. Копирование файлов и каталогов между двумя системами с помощью scp
  18. Скопируйте локальный файл в удаленную систему с помощью команды scp
  19. Скопируйте удаленный файл в локальную систему с помощью команды scp
  20. Скопируйте файл между двумя удаленными системами с помощью команды scp
  21. Выводы
  22. scp команда Linux
  23. Как работает scp
  24. Синтаксис
  25. Примеры
  26. Создание копий локальных файлов
  27. Перемещение файла с удаленного ПК на локальный компьютер
  28. Создание копии папки
  29. Копирование файлов или папок совместно со сжатием данных

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

В статье мы расскажем, как копировать файлы в Windows и Linux-системах, и покажем основные команды, с помощью которых происходит передача файлов по SSH.

Для копирования файлов по SSH в Linux-системах и Windows используют разные инструменты:

  • scp (Secure CoPy) — утилита для безопасного копирования данных между Linux-системами по протоколу SSH. Она входит в состав OpenSSH, поэтому для работы с утилитой не нужно устанавливать дополнительное ПО;
  • pscp.exe — утилита для загрузки файлов по SSH в ОС Windows. Она обладает теми же возможностями, что и scp. Утилита входит в состав программы Putty — SSH-клиента для Windows. Скачать программу можно по ссылке.

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

Для Linux копирование файлов по SSH происходит с использованием команды scp. С её помощью можно копировать файлы:

  • с локального компьютера на удалённый сервер,
  • с удалённого сервера на локальный компьютер.

Общий вид команды:

scp [опция] [источник] [получатель]

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

Как загрузить файл на сервер по SSH? Для этого используйте команду вида:

scp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

scp /home/test.txt root@123.123.123.123:/directory

Файл test.txt будет скопирован на хост 123.123.123.123 в директорию «/directory».

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

При подключённом SSH скачать файл на локальный компьютер с удалённого сервера можно с помощью команды:

scp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

scp root@123.123.123.123:/home/test.txt /directory

Файл test.txt будет загружен с сервера 123.123.123.123 на локальный компьютер в папку «/directory».

Как скачать папку со всеми файлами и подпапками

Если вы хотите скачать папку со всеми файлами и подпапками, используйте ключ -r:

scp -r [источник] [получатель]

Как подключиться к серверу по нестандартному порту

Бывает, что для подключения по SSH нужно указать нестандартный порт. Без указания порта команда подключается к серверу по стандартному 22 порту. Чтобы указать нестандартный порт, введите команду с ключём -P:

scp -P [источник] [получатель]

scp -P 12345 /home/test.txt root@123.123.123.123:/directory

Эта команда подключается по порту 12345 к серверу 123.123.123.123 и копирует на него файл «test.txt» с локального компьютера в директорию «/directory».

Как передать и скачать файлы по SSH на Windows

Скопировать файл по SSH на сервер можно командой:

pscp [путь к файлу] [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу]

Скачать файл по SSH с сервера командой:

pscp [имя пользователя]@[имя сервера/ip-адрес]:[путь к файлу] [путь к файлу]

Увидеть список папок и файлов на сервере можно через pscp.exe. Для этого введите:

pscp -ls [имя пользователя]@[имя сервера/ip-адрес]:[путь]

Если в пути или в названии файла есть пробелы, используйте кавычки:

pscp “C:\files or docs\file name” root@123.123.123.123:/home

Источник

Копирование файлов и запуск команд через SSH

Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.

Читайте также:  Дополнительные темы для windows 10

Работаем на ОС семейства Linux

Используем следующий формат команд:

scp [модификатор] [источник] [место_назначения]

Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:

После запуска команды потребуется ввести пароль от указанной учетной записи удаленного сервера.

Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:

scp /home/user/file.tgz root@123.123.123.123:/root

Чтобы скачать этот же файл с удаленного сервера:

scp root@123.123.123.123:/root/file.tgz /home/user

За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:

scp file1.tgz file2.tgz root@123.123.123.123:/root

Для копирования каталога потребуется задействовать модификатор команды r. Копируем локальный каталог /home/user/dir на удаленный сервер:

scp –r /home/user/dir root@123.123.123.123:/root

В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция P. Если нужно подключиться через порт 10022:

scp –P 10022 /home/user/file.tgz root@123.123.123.123:/root

Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.

Работаем на ОС семейства Windows

При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:

pscp.exe C:Tempfile.tgz root@123.123.123.123:/root

В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:

“C:Program FilesPuttypscp.exe” C:Tempfile.tgz root@123.123.123.123:/root

Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.

Запуск команд на удаленном сервере через SSH-подключение

Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.

Работаем на ОС семейства Linux

ssh [пользователь]@[сервер] ‘[команда]’

При запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.

Например, получим информацию об установленной на удаленном сервере операционной системе:

ssh root@123.123.123.123 ‘uname -a’

Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:

ssh root@123.123.123.123 ‘ifconfig; netstat -anp tcp’

В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:

ssh root@123.123.123.123 ‘bash -s’

В результате локальный файл /home/user/myscript.sh исполнится на удаленном сервере.

Запуск команды SSH без параметров позволит ознакомиться с краткой справкой по синтаксису и списком дополнительных модификаторов, которые позволяют расширить функциональность команды.

Работаем на ОС семейства Windows

Если мы подключаемся к удаленному серверу с компьютера, работающего на операционной системе Windows, то нам снова потребуется обратиться к терминальному клиенту Putty, в состав которого входит исполняемый файл plink.exe. Работать с этим файлом необходимо из командной строки (cmd.exe) или из PowerShell.

Для запуска команды на удаленном сервере используется следующий синтаксис:

plink.exe [сервер] -ssh -l [пользователь] “[команда]”

Проверим конфигурацию сетевых интерфейсов:

plink.exe 123.123.123.123 -ssh -l root “ifconfig”

Как и при работе с командой SSH в Linux, plink.exe позволяет использовать “;” в качестве разделителя для запуска нескольких команд:

plink.exe 123.123.123.123 -ssh -l root “ifconfig; netstat -anp tcp”

А запуск команд из локального файла можно реализовать с помощью дополнительного ключа m:

Источник

Как использовать команду SCP для безопасной передачи файлов

SCP (secure copy) — это утилита командной строки, которая позволяет безопасно копировать файлы и каталоги между двумя местоположениями.

Читайте также:  Linux список открытых файловых дескрипторов

С помощью scp вы можете скопировать файл или каталог:

  • Из вашей локальной системы в удаленную.
  • Из удаленной системы в вашу локальную.
  • Между двумя удаленными системами из вашей локальной системы.

При передаче данных с помощью scp и файлы, и пароль шифруются, поэтому любой, кто отслеживает трафик, не получает ничего конфиденциального.

В этом руководстве мы покажем вам, как использовать команду scp на практических примерах и подробных объяснениях наиболее распространенных параметров scp.

Синтаксис команды SCP

Прежде чем перейти к использованию команды scp , давайте начнем с обзора основного синтаксиса.

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

  • OPTION — параметры scp, такие как шифр, конфигурация ssh, порт ssh, ограничение, рекурсивное копирование и т. Д.
  • [user@]SRC_HOST:]file1 — Исходный файл.
  • [user@]DEST_HOST:]file2 — Файл назначения

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

scp предоставляет ряд параметров, которые контролируют каждый аспект его поведения. Наиболее широко используемые варианты:

  • -P — указывает ssh-порт удаленного хоста.
  • -p — сохраняет время изменения и доступа к файлам.
  • -q — используйте эту опцию, если вы хотите отключить индикатор выполнения и сообщения, не связанные с ошибками.
  • -C — этот параметр заставляет scp сжимать данные при их отправке на конечный компьютер.
  • -r — этот параметр указывает scp рекурсивно копировать каталоги.

Подготовка

Команда scp использует ssh для передачи данных, поэтому для аутентификации в удаленных системах требуется ключ ssh или пароль.

Двоеточие ( : ), как scp различия между локальными и удаленными участками.

Чтобы иметь возможность копировать файлы, у вас должны быть как минимум права на чтение исходного файла и разрешение на запись в целевой системе.

Будьте осторожны при копировании файлов с одинаковым именем и расположением в обеих системах, scp перезапишет файлы без предупреждения.

При передаче больших файлов рекомендуется запускать команду scp внутри сеанса screen или tmux .

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

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

Чтобы скопировать файл из локальной в удаленную систему, выполните следующую команду:

Где file.txt — это имя файла, который мы хотим скопировать, remote_username — это пользователь на удаленном сервере, 10.10.0.2 — это IP-адрес сервера. /remote/directory — это путь к каталогу, в который вы хотите скопировать файл. Если вы не укажете удаленный каталог, файл будет скопирован в домашний каталог удаленного пользователя.

Вам будет предложено ввести пароль пользователя, и начнется процесс передачи.

Если не указывать имя файла в месте назначения, файл копируется с исходным именем. Если вы хотите сохранить файл под другим именем, вам необходимо указать новое имя файла:

Если SSH на удаленном хосте прослушивает порт, отличный от порта по умолчанию 22, вы можете указать порт с помощью аргумента -P :

Команда для копирования каталога очень похожа на копирование файлов. Единственная разница в том, что вам нужно использовать флаг -r для рекурсии.

Чтобы скопировать каталог из локальной в удаленную систему, используйте параметр -r :

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

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

Например, чтобы скопировать файл с именем file.txt с удаленного сервера с IP 10.10.0.2 выполните следующую команду:

Если вы не установили SSH-вход без пароля для удаленного компьютера, вам будет предложено ввести пароль пользователя.

Скопируйте файл между двумя удаленными системами с помощью команды scp

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

Следующая команда скопирует файл /files/file.txt с удаленного хоста host1.com в каталог /files на удаленном хосте host2.com .

Вам будет предложено ввести пароли для обеих удаленных учетных записей. Данные будут передаваться напрямую с одного удаленного хоста на другой.

Чтобы направить трафик через машину, на которой выдается команда, используйте параметр -3 :

Читайте также:  Не запускается служба центра обеспечения безопасности windows

Выводы

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

Вы также можете настроить аутентификацию на основе ключа SSH и подключаться к своим серверам Linux без ввода пароля.

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

Источник

scp команда Linux

Некоторые пользователи для выполнения определённых задач создают сервер у себя дома или арендуют в интернете на различных хостингах. В ходе его эксплуатации может потребоваться перемещение файлов между машинами. Такой процесс должен быть максимально безопасным.

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

Как работает scp

Эта команда представляет собой специальную утилиту, способную работать только по протоколу SSH ( Secure Shell ). Главное требование для передачи информации с одного ПК на другой – запустить специальный север SSH. Пользователь должен иметь логин и пароль от сервера, так как без этой информации его запуск будет невозможен.

Команда дает возможность перемещать документы различного объема. Делать это можно не только между локальной и удаленной системой, но и между 2 удаленными серверами. Для осуществления мероприятия потребуется знать логины и пароли.

Синтаксис

scp [опции][что нужно копировать][куда копировать]

Утилита scp отличается высокой функциональностью. Она способна принимать на вход большое количество параметров, а также позволяет копировать отдельные файлы и директории. Они указываются в аргументе «что нужно скопировать».

При выполнении процедуры требуется обязательно указать, куда требуется перенести файлы и папки. Информация вводится в аргументе «куда нужно скопировать».

Два вышеописанных аргумента могут иметь различные пути – как локальный, так и удаленный. Есть возможность скопировать информацию с удаленного персонального компьютера на стационарный, а также осуществить процедуру с точностью до наоборот.

Аргументы «что нужно скопировать» и «куда нужно скопировать» имеют свой специфический синтаксис:

(имя пользователя)-(IP)-(путь к требуемому файлу или директории)

В данном случае «имя пользователя» — это логин, который используется при запуске специального сервера SSH. IP-адрес персонального компьютера или хоста. Именно на них или с них будут копироваться файлы и директории.

Для осуществления поставленной задачи можно воспользоваться специальными опциями, которые поддерживает утилита. Основные из них:

  • «-1» — запуск специального протокола SSH-1.
  • «-2» — запуск специального протокола SSH-2.
  • «-В» — включение пакетного режима, который дает возможность переместить одновременно несколько файлов и директорий.
  • «-С» — запуск опции сжатия.
  • «-I» — есть возможность установки ограничения скорости передачи (измеряется в кбит/сек).
  • «-О» — с помощью такой команды задается требуемая опция на сервере SSH.
  • «-Р» — это позволит сохранить время, когда прошла модификация.
  • «-R» — имеется возможность рекурсивного копирования нескольких директорий.
  • «-V» — запуск наиболее подробного режима эксплуатации утилиты SCP Linux.

Примеры

Стоит изучить главные направления, которые весьма актуальны при использовании команды scp.

Создание копий локальных файлов

К примеру, с помощью протокола SSH нужно скопировать «file.dat» на ПК с IP-адресом 195.161.114.71 (в директорию «/home/user»). Для этого в командной строке потребуется ввести:

scp file.dat root@195.161.114.71: /home/user

Чтобы не вводить IP-адрес сервера, можно указать доменное имя.

scp file.dat root@vseprolinux.ru: /home/user

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

В данном случае требуется ввести информацию с точностью до наоборот

scp root@vseprolinux.ru: /home/user/file.dat

Создание копии папки

К примеру, требуется перенести директорию «/var/log/exim4» с локального к удаленному компьютеру «/home/user/copia».

В данном случае потребуется использование опции «-R». Необходимо ввести в командной строке

scp –R /var/log/exim4 root@vseprolinux.ru: /home/user/copia

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

Скорость передачи информации можно существенно увеличить. Для этих целей потребуется воспользоваться опцией «-С», которая в ускоренном темпе уменьшит вес транспортируемых файлов.

В терминале вводим:

scp -C file.dat root@vseprolinux.ru: /home/user/copia

Если у пользователя возникли какие-либо вопросы в ходе эксплуатации утилиты, рекомендуется изучить справочную информацию. Для этого в командной строке нужно ввести – man scp.

Источник

Оцените статью