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

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

Передача файлов с помощью команды scp в Linux (2023 г.)

Что такое команда scp в Linux

Когда дело доходит до передачи файлов по защищенной сети, команда scp может быть очень полезной. Это означает протокол безопасного копирования и передает файлы и каталоги между двумя системами через соединение SSH (Secure Shell). С ssh вы можете быть уверены в безопасности ваших файлов, поскольку по умолчанию они зашифрованы. Проще говоря, команда scp — это более безопасная версия команды cp, о которой вы можете прочитать в нашей статье о командах терминала Linux.

Как использовать команду scp: синтаксис и параметры

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

SCP

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Понимание синтаксиса:

  • Первый, указывает «исходную» систему, из которой вам нужно перенести файлы/каталоги.
  • Второй, указывает «целевую» систему, в которую вы хотите перенести файлы/каталоги.

Если оставить любой из указанных выше параметров, команда scp в Linux сначала будет искать файл, а затем копировать его локально. Вот некоторые из параметров сопряжения с этой командой: OptionsDestination-PSУказывает, какой порт следует подключить к хост-системе. Если опущено, то по умолчанию будет использоваться порт 22.-pСохраняет время модификации, время доступа и режимы из исходного файла при копировании в целевую систему.-rРекурсивно копирует весь каталог в целевую систему.-JИспользуется для подключения исходная система и целевая система через прокси-систему (хост перехода).-3когда используется этот флаг, он копирует файлы как в целевую систему, так и в локальную систему-4заставляет команду scp использовать только адреса IPv4.-6принудительно scp для использования только адресов IPv6.

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

Прежде чем использовать команду scp в Linux, необходимо выполнить некоторые предварительные условия как на хосте, так и на целевой системе:

  • ssh должен быть установлен
  • root-доступ или любой пользователь с привилегиями sudo

Скопируйте файлы с локального хоста на удаленную цель

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

SCP @:

Если приведенный выше синтаксис может показаться сложным, пример прояснит его:

scp test.txt remote2@139.144.11.105:/home/remote2/Documents/

В приведенном выше примере:

  • test.txt — это имя файла, который нужно передать, и он находится в текущем каталоге локальной системы.
  • test — это имя пользователя в целевой системе.
  • 139.144.11.105 — это IP-адрес целевой системы.
  • /home/remote2/Documents/ — это место в целевой системе, где будет сохранен переданный файл.

передача файла из локальной системы на удаленный приемник — команда scp linux

Скопируйте файлы с удаленного хоста на локальную цель

Если вам нужно передать файл с удаленного хоста на локальный компьютер, используйте следующий синтаксис команды scp в вашей системе Linux:

SCP @:

Например, допустим, вам нужно передать файл с именем test.py с удаленного сервера, на котором вы работаете, используйте эту команду:

scp test@10.10.11.113:/home/test/test1.py ~/test1.py

В этом примере:

  • test — это имя пользователя удаленного хоста.
  • 10.10.11.113 — это IP-адрес удаленного хоста.
  • /home/test/test1.py — это путь к файлу, который нужно передать с удаленного хоста.
  • ~/test1.py — это имя файла после его передачи на локальный компьютер и сохранения в домашнем каталоге.

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

Передача файлов с одного удаленного хоста на другой удаленный объект

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

Как правило, пользователи жалуются на ошибку «Ошибка проверки ключа хоста» при передаче файлов между двумя удаленными системами. Чтобы обойти ошибку, используйте ssh-ключ в качестве дополнительной меры. Мы объяснили, как вы можете сделать это прямо здесь:

1. Сгенерируйте пару открытый/закрытый ключ на исходном сервере с помощью этой команды:

ssh-keygen -t

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

3. Затем вам будет предложено выбрать место для хранения ключа ssh. Вы можете сохранить его в любом месте по вашему выбору или в месте по умолчанию.

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

генерация ключа ssh и отправка копии в систему-получатель

5. Затем скопируйте открытый ключ на целевой сервер с помощью приведенной ниже команды. При этом вы даже можете войти в целевую систему без пароля, используя ssh.

ssh-копия-идентификатор @

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

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

SCP @: @:

Передача файла между двумя удаленными системами — команда scp linux

Допустим, вам нужно передать файл с именем test.txt с одного удаленного хоста на другой удаленный приемник, используйте команду:

scp remote1@10.10.11.113:/home/test1/test.txt remote2@10.11.27.111:/home/remote2/Documents/test1.txt

В этом примере:

  • remote1 — это имя пользователя на удаленном хосте-отправителе.
  • 10.10.11.113 — это IP-адрес удаленного хоста-отправителя.
  • /home/test1/test.txt — путь к отправляемому файлу
  • remote2 — это имя пользователя в целевом удаленном приемнике.
  • 10.11.27.111 — это IP-адрес цели удаленного приемника.
  • /home/remote2/Documents/test1.txt — имя и путь для сохранения файла, который будет получен.

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

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

SCP @:

Например. Предположим, вам нужно отправить четыре файла, включая test1.txt, test2.py, test3.sh и test4.c, на удаленный получатель, вы можете использовать следующую команду:

scp -P 22 test1.txt test2.py test3.sh test4.c remote1@10.10.11.113:/home/remote_1/Documents

Давайте разберемся, как работает команда в примере и что она делает:

  • -p 2222 используется для указания подключения через порт 22
  • test1.txt test2.py test3.sh test4.c — это имена файлов, которые необходимо передать.
  • remote_1 — имя пользователя принимающей системы
  • 10.10.11.113 — IP-адрес получателя.
  • /home/remote_1/Documents указывает путь для хранения полученного файла.

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

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

SCP . @:

Например, если вам нужно отправить все файлы .py на удаленный сервер, используйте приведенную ниже команду scp в терминале Linux:

scp *.py remote1@10.10.11.113:/home/remote_1/

Здесь,

  • *.py означает все файлы Python
  • remote1 – это имя пользователя получателя
  • 10.10.11.113 — IP-адрес получателя.
  • /home/remote_1/ — место для хранения полученного файла

Выбор нескольких файлов с одинаковым расширением и их передача

Часто задаваемые вопросы

Безопасна ли передача файлов SCP?

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

Является ли SCP более безопасным, чем SFTP?

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

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)