команда scp в linux примеры

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

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

В этой статье мы рассмотрим как выполняется копирование файлов с помощью утилиты scp (Secure Copy Command), а также что из себя представляет команда Linux scp. При передаче файлы шифруются, так что больше никто не сможет получить к ним доступ и самое интересное, что вам не нужно настраивать FTP или другое дополнительное программное обеспечение. Будет достаточно сервера SSH.

Что такое SCP?

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

Эта статья рассчитана в первую очередь на начинающих, поэтому я попытаюсь объяснять все как можно подробнее. Перед тем, как мы перейдем к практике, нужно рассмотреть общий синтаксис команды:

$ scp опции пользователь1@хост1 : файл пользователь2@хост2: файл

Опции утилиты больше касаются протокола SSH и настраивают общее ее поведение. Дальше следует адрес первого и второго файла. Каждый из них может быть расположен как на локальной, так и на удаленной машине. А теперь рассмотрим основные опции, которые могут нам понадобиться:

scp /home/sergiy/file root@losst.ru:/root/

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

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

Если поменять местами локальный путь и сервер, то вы сможете копировать файлы scp c удаленного сервера на локальный компьютер:

scp root@losst.ru:/root/file /home/sergiy/

Таким же самым образом вы можете копирование файлов scp или папок с сервера:

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

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

scp root@losst.ru:/home/root/index.html root@losst.ru:/home/root/www/

Скопируем папку с того же удаленного сервера:

scp root@losst.ru:/root/photos root@losst.ru:/home/root/www/

Выводы

В этой статье мы рассмотрели как выполняется передача файлов scp, как это работает и что вы можете сделать с помощью этой утилиты. Как вы видите, перемещать файлы с одного сервера на другой очень просто. В Linux достаточно понять основы чтобы начать работать эффективнее! А команда scp один из таких инструментов.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Команда SCP Linux: безопасное копирование и передача файлов

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

SCP включает шифрование через соединение SSH (Secure Shell). Это гарантирует, что даже если данные будут перехвачены, они будут защищены.

Как безопасно копировать файлы с помощью SCP

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

Команда scp позволяет использовать подстановочные знаки.

Используйте символ тильды

/ для обозначения home/user каталога пользователя.

Как правило, вам не нужно указывать расположение файла в текущем каталоге. Если вы находитесь в каталоге /home/user и хотите скопировать файл test.txt на сервер, вы можете ввести следующее:

Если вы укажете только каталог назначения, SCP оставит имя файла как есть.

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

В этом примере файл test.txt копируется с локального компьютера, а затем сохраняется как user1test.txt в каталоге пользователя системы назначения.

Это копирует test.tx t из вашей локальной системы на целевой хост, используя порт 1234.

Копировать с одного удаленного хоста на другой

Вы не ограничены только подключением между локальным компьютером и удаленным сервером.

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

Это приведет к репликации файла test.txt из каталога /files на host1.com в каталог /files на /host2.com. Система предложит вам ввести пароль для пользователей user1 и user2 до завершения операции.

Копирование больших файлов с помощью SCP

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

Рекомендации по использованию SCP

Команда scp не проверяет место назначения перед записью. Любые файлы в месте назначения с тем же именем будут перезаписаны без уведомления.

Вам будет предложено ввести пароль, когда вы нажмете Enter.

Используйте пароль пользователя в удаленной системе.

Управление разрешениями

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

Читайте также:  как построить свечку в майнкрафте

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

Параметры команды SCP

Базовый синтаксис SCP:

Вот некоторые общие параметры команды scp:

В следующем разделе указывается место, куда копируется файл. Например:

Это скопирует документ test.txt из пользовательского каталога в локальной системе и поместит копию в каталог учетной записи администратора в удаленной системе.

Итоги

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

Источник

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

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

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

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

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

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

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

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

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

Подготовка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

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

Источник

SCP Команда Linux для Удалённого Копирования Файлов

Команда scp – это утилита, которая работает по протоколу SSH, а значит, все что вам нужно для передачи файла на компьютер, это чтобы на нем был запущен SSH сервер, а также вы должны знать логин и пароль для подключения к нему. С помощью команды scp вы можете не только перемещать файлы между локальной и удаленной системой, но и между двумя удаленными системами. Для этого тоже будет достаточно знать пароли от них. И в отличие от Rsync вам не нужно авторизоваться на одном из серверов.

В чем отличие SSH от SCP?

SSH (Secure Shell) – защищенный сетевой протокол для безопасного управления сетевыми сервисами. Используется для выполнения команд на удаленной стороне.

SCP (Secure Copy Protocol) – протокол для безопасной передачи файлов между удаленной и локальной системой. Этот протокол основан на SSH протоколе.

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

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

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

Читайте также:  чем открывать пдф файл

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

Синтаксис

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

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

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

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

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

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

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

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

Примеры

Стоит изучить главные направления, которые весьма актуальны при использовании команды 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 Команда: На Что Обратить Внимание

Поскольку SCP использует шифрование SSH, для копирования файла вам потребуется пароль ssh. Кроме того, необходимо иметь право на чтение на машине, с которой вы собираетесь копировать, и право на запись на машине(ах), куда вы будете копировать.

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

Вы копируете этот ключ в удалённую систему, используя:

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

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

Для протокола версии 2 дефолтный путь идентификации ключа хоста —

/.ssh/id_dsa, а для версии протокола 1 —

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

Для пути /back-up/home/jack/.ssh команда выглядит следующим образом:

Совет: значением по умолчанию этого параметра является –overwrite [yes], поэтому, если вы не укажете опцию –overwrite no или –overwrite ask в своей команде scp, операция перезапишет файлы с одинаковыми названиями и местоположениями без каких-либо предупреждений.

Прежде чем начать

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

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

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

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

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

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

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

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

scp file.txt remote_username@10.10.0.2:/remote/directory

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

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

remote_username@10.10.0.2’s password: file.txt 100% 0 0.0KB/s 00:00

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

scp file.txt remote_username@10.10.0.2:/remote/directory/andreyex.txt

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

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

Читайте также:  чем опасен пневмофиброз легких и как его лечить

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

scp remote_username@10.10.0.2:/remote/file.txt /local/directory

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

Удалённый Файл на Локальную Машину

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

scp root@191.162.0.2:/writing/articles/SCP.zip Users/Olha/Desktop

Опять же, это должно вызвать тот же вывод входа в систему через SSH, где вы должны ввести пароль, если аутентификация не была отключена привилегиями sudo или вы не заставили ssh-клиент использовать закрытый ключ на вашем компьютере.

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

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

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

scp user1@host1.com:/files/file.txt user2@host2.com:/files

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

Удалённый Файл в Другое Удалённое Местоположение

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

scp root@191.162.0.2:/writing/article/scp.zip olha@11.10.0.1:/publishing

Приведённая выше команда копирует исходный файл /writing/article/scp.zip с одного хоста на другой. Чтобы скопировать папки, просто добавьте параметр -r и укажите путь к папке, а не файл внутри неё, как мы делали раньше.

При нормальных обстоятельствах файл копируется непосредственно с одного удалённого хоста на другой. Однако, если вы хотите перенаправить операцию через ваш компьютер, вы можете добавить опцию -3:

Заключение

Мы рассмотрели наиболее распространенные примеры работы с командой scp. Более подробную информацию можно получить в соответствующих man-страницах.

Источник

scp команда Linux

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

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

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

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

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

Синтаксис

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

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

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

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

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

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

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

Примеры

Стоит изучить главные направления, которые весьма актуальны при использовании команды 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

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

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

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

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

Источник

Компьютерный онлайн портал