Безопасное копирование файлов в Linux с помощью команды Scp

Безопасное копирование файлов в Linux с помощью команды Scp

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





лучшее приложение голосовой почты для Android 2018

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





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

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





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

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

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



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

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

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





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

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

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

scp [options] [source] [destination]

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

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





scp /home/document.txt user@remote-host:/home/document.txt

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

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

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

user@remote-host's password:

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

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

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

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

scp user@remote-host:/home/document.txt /home/document.txt

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

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

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

scp user1@remote-host1:/home/document.txt user2@remote-host2:/home/folder/document.txt

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

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

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

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

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

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

scp -P 35 /home/document.txt user@remote-host:/home/document.txt

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

почему мой файловый менеджер такой медленный

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

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

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

scp -p /home/document.txt user@remote-host:/home/remote/document.txt

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

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

scp -r user@remote-host:/home/videos /home/videos

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

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

scp -q user@remote-host:/home/document.txt /home/document.txt

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

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

scp -i /home/keypair.pem /home/document.txt user@remote-host:/home/document.txt

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

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

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

ipad pro 12,9 дюйма 4-го поколения
scp -P 34 -q user@remote-host:/home/document.txt home/document.txt

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

scp -i /home/secret/keypair.pem -r /home/folder user@remote-host:/home/folder

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

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

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

Делиться Делиться Твитнуть Эл. адрес Памятка по командам Linux

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

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

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

Ещё от Deepesh Sharma

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

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

Нажмите здесь, чтобы подписаться
Категория Linux