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

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

Что такое команда Scp

Scp, аббревиатура от Безопасная копия, это утилита командной строки в операционных системах на базе Linux, которая позволяет пользователю копировать файлы между удаленными и локальными узлами. Поскольку команда передает файлы по сети на другой хост, требуется доступ по SSH. SSH (Secure Shell) - это протокол, который позволяет безопасно обрабатывать сетевые службы в любой сети.

Команда scp также поддерживает некоторые дополнительные функции, такие как указание параметров аутентификации, изменение порта, перенос каталогов и многое другое.

instagram viewer

Почему Scp лучше, чем другие методы

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

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

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

Используя команду scp, вы можете передавать файлы между:

  1. Локальный хост и удаленный хост
  2. Удаленный хост и локальная система
  3. Два удаленных хоста

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

Базовый синтаксис команды scp:

scp [параметры] [источник] [назначение]

Перенос с локального хоста на удаленную систему

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

scp /home/document.txt пользователь @ удаленный хост: /home/document.txt

Обратите внимание, что источником является путь к файлу в вашем локальном хранилище. А место назначения - это путь к файлу на удаленном хосте. Вы также должны указать имя пользователя и доменное имя удаленного сервера. В приведенной выше команде Пользователь это имя пользователя и удаленный узел это доменное имя.

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

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

пароль пользователя @ удаленного хоста:

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

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

От удаленного хоста к локальному

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

Пользователь scp @ удаленный хост: /home/document.txt /home/document.txt

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

Между двумя удаленными хостами

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

scp user1 @ удаленный-хост1: /home/document.txt user2 @ удаленный-хост2: /home/folder/document.txt

И снова появится запрос с просьбой ввести пароль для каждого из двух пользователей.

Параметры командной строки Scp

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

Изменить порт

По умолчанию команда scp работает на порту 22. Однако вы всегда можете перезаписать конфигурацию по умолчанию и изменить порт. В flag позволяет делать то же самое.

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

scp -P 35 /home/document.txt пользователь @ удаленный-хост: /home/document.txt

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

Сохранить отметки времени файла

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

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

scp -p /home/document.txt пользователь @ удаленный хост: /home/remote/document.txt

Копировать каталоги

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

scp -r пользователь @ удаленный хост: / дом / видео / дом / видео

Подавленный режим

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

scp -q пользователь @ удаленный хост: /home/document.txt /home/document.txt

Используйте файл пары ключей для аутентификации

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

scp -i /home/keypair.pem /home/document.txt пользователь @ удаленный-хост: /home/document.txt

Объединение нескольких флагов вместе

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

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

scp -P 34 -q пользователь @ удаленный хост: /home/document.txt home / document.txt

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

scp -i /home/secret/keypair.pem -r / home / folder user @ удаленный хост: / home / folder

Передача файлов между системами Linux

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

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

Электронное письмо
Памятка по командам Linux

Эта простая шпаргалка поможет вам быстро освоиться с терминалом командной строки Linux.

Читать далее

Похожие темы
  • Linux
  • Управление файлами
  • Linux
  • SSH
Об авторе
Дипеш Шарма (Опубликовано 33 статей)

Дипеш - младший редактор Linux в MUO. Он пишет информационный контент в Интернете более 3 лет. В свободное время он любит писать, слушать музыку и играть на гитаре.

Ещё от Deepesh Sharma

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

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

.