Как использовать команду SCP в Linux
В этом руководстве мы покажем вам, как использовать команду scp в Linux. Для тех из вас, кто не знал, SCP (Secure Copy) — это инструмент командной строки в Linux и Unix-подобных системах, который используется для безопасной передачи файлов и каталогов между системами по сети. Он использует подсистему SFTP Secure Shell для передачи данных, использует ту же аутентификацию и обеспечивает ту же безопасность, что и Secure Shell. Scp запросит пароли или парольные фразы, если они необходимы для аутентификации. По умолчанию команда SCP включена в Linux и Mac, поэтому вам не нужно ничего загружать с помощью этих ОС.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговое использование команд scp в Linux с практическими примерами.
Используйте команду SCP в Linux
SCP (secure copy) — это утилита командной строки, которая позволяет безопасно копировать файлы и каталоги между двумя местоположениями.
- Базовый синтаксис команды SCP.
По умолчанию протокол SCP работает с портом, 22
если он не отменен параметром командной строки. Все scp
команды имеют форму:
[root@infoit.com.ua ~]# scp [OPTIONS] [SOURCE] [DESTINATION]
- Перенести локальные файлы в удаленное место назначения.
Например, мы загружаем файл с локального компьютера в удаленное место. С помощью SCP мы можем сделать это с помощью такой команды, как:
[root@infoit.com.ua ~]# scp path/to/local/file.txt user@remote-host:path/to/remote/file.txt
После выполнения указанной выше команды отобразится запрос пароля, соответствующего учетной записи удаленного хоста. После ввода пароля файл будет скопирован.
- Перенести удаленный файл в локальное место назначения.
Теперь мы можем скопировать файл с удаленного компьютера на локальный:
[root@infoit.com.ua ~]# scp user@remote-host:path/to/remote/file.txt path/to/local/file.txt
- Перенести удаленный файл в удаленное место назначения.
Выполните следующий формат команды, используемый для передачи файла между двумя удаленными хостами:
[root@infoit.com.ua ~]# scp user1@remote-host1:path/to/remote/file.txt user2@remote-host2:path/to/remote/file.txt
- Копирование каталогов.
Флаг может использоваться рекурсивно скопировать в папку и ее содержимое вместо одного файла:-r
[root@infoit.com.ua ~]# scp -r path/to/local/my-folder user@remote-host:path/to/remote/my-folder
- Подавленный режим.
Флаг подавляет сообщения метровые прогресс и не ошибки , так что ваши терминальные остается чистым:-q
[root@infoit.com.ua ~]# scp -q path/to/local/file.txt user@remote-host:path/to/remote/file.txt
- Файл пары ключей аутентификации.
Флаг может быть использован для проверки подлинности подключения с использованием криптографической пары ключей , хранящуюся в файле вместо имени пользователя и пароля:-i
[root@infoit.com.ua ~]# scp -i path/to/local/keypair.pem path/to/local/file.txt user@remote-host:path/to/remote/file.txt
- Использование нескольких параметров SCP.
Это пример, который реализует несколько флагов для копирования папки с удаленного хоста на наш локальный компьютер с использованием файла пары ключей для аутентификации на порту 999 с сохранением свойств файла и подавлением вывода:
[root@infoit.com.ua ~]# scp -p -q -P 999 -i path/to/local/keypair.pem -r path/to/local/folder user@remote-host:path/to/remote/folder
Поздравляю! Вы успешно научились использовать команду SCP . Спасибо за использование этого руководства, поскольку мы рассмотрели передачу файлов с локального хоста на удаленный хост, с удаленного хоста на локальный хост и между двумя удаленными хостами в системе Linux.