- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Команда SCP Linux: безопасное копирование и передача файлов
- Как безопасно копировать файлы с помощью SCP
- Копировать файл с локального на удаленный сервер с помощью SCP
- Копировать с одного удаленного хоста на другой
- Копирование больших файлов с помощью SCP
- Рекомендации по использованию SCP
- Управление разрешениями
- Параметры команды SCP
- Итоги
- SCP Команда Linux для Удалённого Копирования Файлов
- Синтаксис Примера SCP Команды
- SCP Команда: На Что Обратить Внимание
- SCP Команда и Копирование Файлов
- Локальный Файл в Удалённое Местоположение
- Удалённый Файл на Локальную Машину
- Удалённый Файл в Другое Удалённое Местоположение
- Итоги
- How to Use Linux SCP Command
- Installing SSH Server and Client Programs on the Remote Server:
- CentOS 7/RHEL 7:
- Ubuntu/Debian:
- Arch Linux:
- Installing scp on the Client:
- CentOS 7/RHEL 7:
- Ubuntu/Debian:
- Arch Linux:
- Using SCP:
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Команда SCP Linux: безопасное копирование и передача файлов
4 минуты чтения
Команда SCP (Secure Copy) — это метод шифрования передачи файлов между системами Unix или Linux. Это более безопасный вариант команды cp
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
SCP включает шифрование через соединение SSH (Secure Shell). Это гарантирует, что даже если данные будут перехвачены, они будут защищены.
Как безопасно копировать файлы с помощью SCP
Копировать файл с локального на удаленный сервер с помощью SCP
Команда scp позволяет использовать подстановочные знаки.
Используйте символ тильды
/ для обозначения home/user каталога пользователя.
Вы можете указать строку текста со знаком * .
/*.txt заставит SCP скопировать все файлы в домашнем каталоге, которые заканчиваются на .txt .
Как правило, вам не нужно указывать расположение файла в текущем каталоге. Если вы находитесь в каталоге /home/user и хотите скопировать файл test.txt на сервер, вы можете ввести следующее:
Чтобы скопировать все файлы .txt в домашний каталог username2 , введите следующее:
Если вы укажете только каталог назначения, SCP оставит имя файла как есть.
Чтобы изменить имя файла, определите новое имя файла в месте назначения:
В этом примере файл test.txt копируется с локального компьютера, а затем сохраняется как user1test.txt в каталоге пользователя системы назначения.
Если удаленная система настроена на прослушивание SSH-запросов на порт, отличный от порта 22 по умолчанию, используйте переключатель –P , чтобы указать порт:
Это копирует test.tx t из вашей локальной системы на целевой хост, используя порт 1234.
Копировать с одного удаленного хоста на другой
Вы не ограничены только подключением между локальным компьютером и удаленным сервером.
Чтобы скопировать из одной удаленной системы в другую:
Это приведет к репликации файла test.txt из каталога /files на host1.com в каталог /files на /host2.com. Система предложит вам ввести пароль для пользователей user1 и user2 до завершения операции.
Копирование больших файлов с помощью SCP
Если вы копируете большие файлы, запустите команду в терминальном мультиплексоре, например tmux .
Если операция прервана, мультиплексор позволит вам возобновить копирование без необходимости начинать заново.
Вы можете проверить, установлен ли в вашей системе tmux , выполнив в терминале следующее:
Рекомендации по использованию SCP
Команда scp не проверяет место назначения перед записью. Любые файлы в месте назначения с тем же именем будут перезаписаны без уведомления.
Вам будет предложено ввести пароль, когда вы нажмете Enter.
Используйте пароль пользователя в удаленной системе.
Управление разрешениями
В исходной системе вам потребуется учетная запись с доступом для чтения к файлам, которые вы хотите скопировать.
В системе назначения вам потребуется учетная запись с правом записи в каталог, в котором будут сохранены файлы. Если вы столкнетесь с ошибками при копировании, вы можете попробовать учетную запись пользователя root для устранения неполадок с разрешениями.
Параметры команды SCP
Базовый синтаксис SCP:
Вот некоторые общие параметры команды scp:
- –P — Указать порт SSH сервера
- –p — сохранить метку времени для изменения и доступа (обратите внимание на строчные буквы)
- –q — тихий режим, без отображения прогресса или сообщений (все равно будут отображаться ошибки)
- –C — Сжимать данные во время передачи
- –r — Рекурсивно — включать подкаталоги и их содержимое
Раздел, следующий сразу за параметрами, — это источник (путь) файла, который вы хотите скопировать. Вы можете скопировать из своей системы в удаленную или наоборот.
В следующем разделе указывается место, куда копируется файл. Например:
Это скопирует документ test.txt из пользовательского каталога в локальной системе и поместит копию в каталог учетной записи администратора в удаленной системе.
Другой пример SCP — чтобы скопировать файл с удаленного хоста на локальный:
Итоги
В этом руководстве вы узнали, что такое команда scp и как ее использовать для защиты передачи файлов.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
SCP Команда Linux для Удалённого Копирования Файлов
Безопасная передача файлов является приоритетом номер один для тех, кто используют VPS. SCP команда Linux позволяет выполнить безопасное копирование и перенос ваших файлов. И в этой статье мы расскажем, как это сделать.
Что такое команда SCP? Основанная на протоколе удаленного копирования (RCP) Berkeley Software Distribution (BSD), SCP (Secure Copy) представляет собой сетевой протокол передачи файлов, который позволяет легко и безопасно передавать/копировать файлы между удалённым и локальным хостом или двумя удалёнными местоположениями.
Full Stack-разработчики часто применяют эту команду Linux через её функции аутентификации и шифрования, а также отсутствие необходимости использовать сторонние хостинговые сервисы, такие как Github. SCP — это простой способ защитить данные от перехватчиков и сохранить их конфиденциальность.
По сути, SCP представляет собой смесь RCP и SSH (Secure Shell). Первый протокол обеспечивает выполнение операций копирования, а второй шифрует информацию и проверяет подлинность удалённых систем.
В отличие от Rsync, всё, что вам нужно для успешного использования командной строки SCP, это имя пользователя и пароль или секретная фраза для систем, участвующих в передаче. Это упрощает процесс, так как вам не нужно входить ни в одну из них.
Прокачайте ваш проект, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.
Синтаксис Примера SCP Команды
Пример базовой команды SCP выглядит следующим образом:
Слишком сложно? Давайте разбираться.
В этом примере мы выполняем передачу между двумя серверами VPS.
- [other options] — это модификаторы, которые вы можете добавить к команде SCP. Мы рассмотрим самые популярные из них немного позже.
- [source username@IP] — имя пользователя и IP-адрес компьютера, на котором находится нужный файл. На практике это будет выглядеть как-то так — root@123.123.123.12.
- :/ сообщает команде SCP, что вы собираетесь ввести исходный каталог.
- [directory and file name] — это место, где находится файл, и его название. На деле это выглядит так: /users/Olha/Desktop/SCP.png.
- [destination username@IP] — это имя пользователя и IP-адрес компьютера назначения.
- [destination directory] — каталог назначения, в который будет сохранён файл.
В реальном жизни SCP команда будет выглядеть так:
Видите, это довольно просто. Если вы копируете на локальный компьютер или с локального компьютера, вам не понадобится IP-адрес, место назначения или исходный путь, например, /desktop/folder_name.
Давайте поговорим о других опциях модификации этой утилиты. Существует 20 распространённых вариантов, которые можно использовать как в односимвольной форме (-o), так и в их описательном эквиваленте (–option). Вот список популярных модификаторов команды SCP в Linux:
- –P (port) позволяет указать нестандартный порт (порт по умолчанию — 22).
- –с (cipher) даёт возможность указать алгоритм шифрования, который будет использовать клиент. Некоторые из значений, которые вы можете использовать: “aes256-ctr”, “aes256-cbc”, “blowfish-cbc”, “arcfour”, “arcfour128”, “arcfour256”, “cast128-cbc”, “aes128-ctr”, “aes128-cbc”, “aes192-ctr”, “aes192-cbc” и “3des-cbc”. Параметром по умолчанию в конфигурации оболочки является “AnyStdCipher”.
- –q выполнит операцию в тихом режиме, это означает, что отображаться будут только критические ошибки.
- –r для рекурсивного копирования, которое будет включать все подкаталоги.
- -4 или -6 , если вы хотите выбрать используемую версию протокола: IPv4 или IPv6. Вы также можете более подробно настроить требования к IP-адресу с помощью ключевого слова address-family.
- –p сохранит начальное время изменения и атрибуты файла.
- –u удалит исходный файл после завершения передачи.
- –c включит сжатие данных во время операции передачи.
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, операция перезапишет файлы с одинаковыми названиями и местоположениями без каких-либо предупреждений.
Если вы копируете большие файлы, мы рекомендуем использовать сеанс tmux или запустить команду на другом экране. Кроме того, вы также должны использовать опцию -v. Это заставит scp отображать любые отладочные соединения, проблемы с аутентификацией или конфигурацией.
SCP Команда и Копирование Файлов
Самое замечательное в SCP то, что она даёт вам возможность передавать файлы между двумя хостами или между хостом и локальной машиной. Давайте посмотрим, как используется эта команда для каждого типа передачи.
Локальный Файл в Удалённое Местоположение
Мы скопируем локальный файл scp.zip на пользователя удалённого компьютера с названием root . За именем пользователя следует IP-адрес сервера.
Если у вас не настроено автоматическое подтверждение клиента ssh, вам будет предложено ввести пароль от пользователя удалённого компьютера, после чего вы увидите индикатор прогресса. Это будет выглядеть примерно так:
Но допустим, что удалённый компьютер настроен на прослушивание SSH-соединений через порт, отличный от порта по умолчанию 22. В этом случае вы должны указать этот порт с помощью параметра.
Если вы также хотите изменить имя файла во время копирования, то ваша команда будет выглядеть следующим образом (если ваш порт не является портом по умолчанию, просто добавьте –P и номер порта):
Если вы хотите скопировать каталог, содержащий файлы и/или подкаталоги, используйте параметр –r , описанный выше.
Удалённый Файл на Локальную Машину
В этом процессе источник и цель команды меняются местами, что должно отразиться на вашем синтаксисе. В этот раз мы пытаемся скопировать файл scp.zip с того же удалённого хоста на наш локальный компьютер:
Опять же, это должно вызвать тот же вывод входа в систему через SSH, где вы должны ввести пароль, если аутентификация не была отключена привилегиями sudo или вы не заставили ssh-клиент использовать закрытый ключ на вашем компьютере.
Удалённый Файл в Другое Удалённое Местоположение
Чтобы скопировать файлы с одного удалённого хоста на другой, вам нужно будет ввести пароли для обеих учётных записей после запуска этой команды в терминале.
Приведённая выше команда копирует исходный файл /writing/article/scp.zip с одного хоста на другой. Чтобы скопировать папки, просто добавьте параметр -r и укажите путь к папке, а не файл внутри неё, как мы делали раньше.
При нормальных обстоятельствах файл копируется непосредственно с одного удалённого хоста на другой. Однако, если вы хотите перенаправить операцию через ваш компьютер, вы можете добавить опцию -3 :
Итоги
В этой статье мы узнали, что такое SCP команда в Linux и, как с её помощью передавать файлы между удалёнными и локальными узлами. Это очень полезно, когда вы работаете с несколькими серверами. Протокол защищённого копирования, или SCP облегчает копирование информации с одного удалённого хоста на другой, поскольку вам не приходится входить в систему.
Кроме того, этот метод удалённой передачи файлов шифрует ваши данные с помощью безопасной оболочки (SSH), что обеспечивает конфиденциальность передаваемой вами информации.
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник
How to Use Linux SCP Command
In this article, I am going to show you how to use the SCP command to securely copy files from your computer to and from a Linux remote server. So, let’s get started.
Installing SSH Server and Client Programs on the Remote Server:
If you want to use SCP to copy files to and from a remote server, the SSH server software must be installed on the remote server and scp command must also be available.
On Linux, you can easily install the OpenSSH server and the OpenSSH client package (which contains the scp command) from the official package repository of your desired Linux distribution. I am going to cover some of the common ones in this article.
CentOS 7/RHEL 7:
On CentOS 7 or RHEL 7, you can install the OpenSSH server and the OpenSSH client packages using the YUM package manager as follows:
Ubuntu/Debian:
On Ubuntu, Debian, or any Debian based Linux distributions, you can install the OpenSSH server and OpenSSH client packages using the APT package manager as follows:
Arch Linux:
On Arch Linux, you can run the following commands to install the OpenSSH server and OpenSSH client packages using the Pacman package manager.
Installing scp on the Client:
In order to use scp to copy files to the remote server from your computer or copy files from the remote server to your computer, you must have the scp program available in both places (computer and remote server).
On Linux, you can easily install the OpenSSH client package from the official package repository of your desired Linux distribution.
CentOS 7/RHEL 7:
On CentOS 7 or RHEL 7, you can install the OpenSSH client package using the YUM package manager as follows:
Ubuntu/Debian:
On Ubuntu, Debian, or any Debian based Linux distributions, you can install the OpenSSH client package using the APT package manager as follows:
Arch Linux:
On Arch Linux, you can run the following commands to install the OpenSSH client package using the Pacman package manager.
Using SCP:
In order to copy files using SCP, you need to know the IP address of domain name of your server.
To find the IP address of your server, run the following command on the server:
As you can see, the IP address of my server is 192.168.21.131. It will be different for you. So, make sure to replace it with yours from now on.
If you want to use DNS name, you should be able to find it in the admin panel of your VPS provider.
The format of the scp command is:
If you want to copy files from your computer to the remote server, then the destination will be in the format username@hostname/IP_address:remote_directory
If you want to copy files from your remote server to your computer, then the source will be in the format username@hostname/IP_address:remote_path
Here, username is the user that you’re logging in the remote server as.
hostname or IP_address is the DNS name or IP address of your remote server.
remote_path is the directory or file on the remote server that you want to copy to your computer or the directory on the remote server where you want to copy a file or directory from your computer.
Some examples will make it clear.
Let’s say, you want to copy rancheros.iso file from the current working directory of your computer to the HOME directory of the user you’re login in as on your remote server. To do that, run scp as follows:
NOTE: Here,
represents the HOME directory.
If you’re connecting to the remote server for the first time, you should see the following message. Now, type in yes and then press .
Now, type in the password of the user you’re login in as and press .
The file is copied to the remote server.
As you can see, the file is there.
To copy a directory (let’s say configs/) from your computer to the remote server, run the following command:
Now, type in the password and press . The directory along with all the contents of the directory should be copied to the remote server.
The same way, you can copy a file (let’s say /etc/fstab) from your remote server to your computer’s
/Downloads directory as follows:
The file is copied to your computer as you can see.
To copy a directory (let’s say
/images) from your remote server to the HOME directory of your computer, run scp as follows:
As you can see, the directory including the contents of the directory is copied to my computer’s home directory.
So, that’s how you use SCP to copy files from or to your remote directory. Thanks for reading this article.
Источник