Нажмите "Enter" для перехода к содержанию

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

Последнее обновление на 16.04.2024

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

Что такое scp

В Linux scp — это утилита командной строки, которая позволяет безопасно передавать файлы между локальным и удаленным узлами или между двумя удаленными узлами через защищенное соединение SSH (Secure Shell). SCP использует ту же аутентификацию и безопасность, что и SSH, обеспечивая зашифрованную передачу данных. Сама аббревиатура «SCP» означает Secure Copy Protocol.

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

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

Для начала, давайте обсудим основной синтаксис scp. Команда имеет следующий формат:

scp [options] source_file destination_file

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

SSH-сервер.

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

Ubuntu/Debian

sudo apt install openssh-server

Fedora

sudo dnf install openssh-server

Centos

sudo yum install openssh-server

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

Для начала откройте терминал на вашей локальной машине

Вы можете скопировать файл на удаленный сервер с помощью команды scp. Например, если ваше имя пользователя на удаленном сервере «remoteuser», а IP-адрес сервера «192.168.0.100», то команда для копирования с локального компьютера на удаленный сервер будет выглядеть так:

scp /path/to/example.txt remoteuser@192.168.0.100:/path/to/destination

Здесь «/path/to/example.txt» — путь до файла на локальном компьютере. «remoteuser» — это имя пользователя на удаленном сервере, а «/path/to/destination» — это каталог на удаленном сервере, куда вы хотите скопировать файл.

пример использования scp

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

Копирование файлов с сервера на локальный компьютер.

Вы также можете скопировать файлы с удаленного сервера на локальную машину с помощью scp. Структура команды аналогична, только расположение источника и места назначения меняются местами. Например, чтобы скопировать файл с именем «example2.txt» с удаленного сервера на вашу локальную машину, используйте команду:

scp remoteuser@192.168.0.100:/path/to/remote/file/example2.txt /path/to/local/destination

Здесь «/path/to/remote/file/example2.txt» — расположение файла на сервере, а «/path/to/local/destination» — куда будет скопирован файл на локальный компьютер.

Пример использования scp

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

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

scp *.txt remoteuser@192.168.0.100:/path/to/destination

Эта команда скопирует все файлы с расширением .txt из текущего каталога в указанный каталог на удаленном сервере.

Помимо этого, вы также можете указать пользовательские номера портов для команды scp, используя опцию -P. Например, если удаленный сервер прослушивает не стандартный порт ssh, а например порт 2222, вы можете изменить команду следующим образом:

scp -P 2222 example.txt remoteuser@192.168.0.100:/path/to/destination

Не забудьте заменить «example.txt» на соответствующий исходный файл, а «/path/to/destination» на желаемый целевой каталог.

Заключение.

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

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