Копировать файл linux scp

Содержание
  1. Как копировать и передавать файлы по SSH
  2. Для подключения к серверу вам потребуются:
  3. Как скопировать файл через SSH на Linux
  4. Как отправить файл по SSH с локального компьютера на сервер
  5. Как скачать файлы с удаленного сервера на компьютер
  6. Как скопировать файлы по SSH на Windows
  7. Как загрузить файл с компьютера на сервер
  8. Как скачать файл через SSH на локальный компьютер
  9. Копирование файлов по ssh. Команда scp
  10. Копирование локального файла
  11. Локальный→Удаленный
  12. Указываем порт
  13. Копирование файла с удаленного компьютера на локальный
  14. Удаленный→Локальный
  15. Копирование директории
  16. Копирование со сжатием данных (ускорение)
  17. Сохранение атрибутов файла
  18. Если в пути есть пробелы
  19. Команда SCP Linux: безопасное копирование и передача файлов
  20. Как безопасно копировать файлы с помощью SCP
  21. Копировать файл с локального на удаленный сервер с помощью SCP
  22. Копировать с одного удаленного хоста на другой
  23. Копирование больших файлов с помощью SCP
  24. Рекомендации по использованию SCP
  25. Управление разрешениями
  26. Параметры команды SCP
  27. Итоги

Как копировать и передавать файлы по SSH

В статье мы расскажем, как передать файлы через SSH на разных операционных системах — Windows и Linux.

Для подключения к серверу вам потребуются:

  • IP-адрес или имя сервера,
  • логин пользователя (в том числе root),
  • пароль пользователя,
  • порт.

Чаще всего копирование файлов через SSH делают с помощью двух мини-программ:

  1. scp (Secure Copy) — утилита для Linux. Она позволяет безопасно передать или скачать файл по протоколу SSH. Программа scp входит в комплект OpenSSH и не требует установки.
  2. pscp.exe — это утилита для Windows. Она используется по тому же назначению, что и scp: подключение к серверу по SSH и работа с файлами. Эта мини-программа входит в состав PuTTY: ее можно скачать на официальном сайте. Процедура настройки SSH-клиента описана в нашей статье.

Важно: если загружаемый файл существует на целевом хосте, он перезапишется.

Работа через SSH предполагает использование консольных команд. Наиболее популярные из них вы можете найти в статье.

Как скопировать файл через SSH на Linux

Копирование файлов по SSH на Linux можно сделать с помощью scp. Эта утилита позволяет:

  • передать файл с локального компьютера на удаленный сервер,
  • скачать файл с удаленного сервера на локальный компьютер.

Команда scp имеет следующий синтаксис:

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

  • /home/test.doc — путь к файлу на локальном компьютере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory — директория на сервере, в которую нужно загрузить файл.
Читайте также:  Find linux x86 or x64

Готово, вы загрузили файл на сервер.

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

  • /directory/test.doc — путь к файлу на сервере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • home — папка на компьютере, в которую нужно загрузить файл.

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

Как скопировать файлы по SSH на Windows

Копирование через SSH на ОС Windows выполняется с помощью утилиты pscp.exe из набора PuTTY.

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

  • /documents/test.doc — путь к файлу на локальном компьютере;
  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory — директория на сервере, в которую нужно загрузить файл.

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

Готово, вы загрузили файл на сервер.

Как скачать файл через SSH на локальный компьютер

  • username — имя SSH-пользователя;
  • servername — имя сервера или его IP-адрес;
  • directory/test.doc — путь к файлу на сервере;
  • /documents — директория на локальном компьютере, в которую нужно загрузить файл.

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

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

Источник

Копирование файлов по ssh. Команда scp

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

Аргументы что_копируем и куда_копируем могут быть, как локальными путями, так и удаленными. То есть можно копировать файлы с удаленного компьютера на локальный и наоборот. Можно копировать файлы с удаленного компьютера на другой удаленный компьютер.

что_копируем и куда_копируем имеют следующий синтаксис:

имя_пользователя — это имя пользователя для подключения по ssh.
IP_адрес — IP адрес компьютера (хоста) на который или с которого будет копирование.

Копирование локального файла

Локальный→Удаленный

Рассмотрим простой пример. Скопируем по ssh локальный файл myfile.dat на компьютер с IP адресом 192.168.1.74 в директорию /home/pingvin .

scp myfile.dat pingvin@192.168.1.74:/home/pingvin

Указываем порт

Выполним тоже самое, но укажем еще и порт для подключения по ssh (используем опцию -P ). Обратите внимание, что опция для указания порта это прописная буква P !

scp -P 6773 myfile.dat pingvin@192.168.1.74:/home/pingvin

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

Удаленный→Локальный

Теперь наоборот. Скопируем файл с удаленного компьютера в нашу текущую директорию.

scp pingvin@192.168.1.74:/home/pingvin/myfile.dat .

Копирование директории

Скопируем с нашего локального компьютера директорию ~/mydir на удаленный компьютер в директорию /home/pingvin . Используется опция -r .

scp -r ~/mydir pingvin@192.168.1.17:/home/pingvin

Копирование со сжатием данных (ускорение)

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

Читайте также:  Поиск файла линукс find

Пример копирования файла myfile.dat с включенным сжатием.

scp -C myfile.dat pingvin@192.168.1.74:/home/pingvin

Сохранение атрибутов файла

Чтобы результирующий файл получил те же атрибуты что и исходный файл, используется опция -p (не путать с опцией -P для указания порта). При использовании опции -p сохраняются права доступа к файлу, владелец файла, временные метки и так далее.

scp -p myfile.dat pingvin@192.168.1.74:/home/pingvin

Если в пути есть пробелы

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

scp -r pingvin@192.168.1.17:"'/home/pingvin/Some dir with spaces"' .

Это связано с тем, что одни кавычки используются при разборе пути на локальной стороне, а вторые на удаленной.

Для получения полной справки по команде scp выполните в терминале:

Источник

Команда SCP Linux: безопасное копирование и передача файлов

img

SCP включает шифрование через соединение SSH (Secure Shell). Это гарантирует, что даже если данные будут перехвачены, они будут защищены.

Команда SCP Linux: безопасное копирование и передача файлов

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

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

Команда scp позволяет использовать подстановочные знаки.

Используйте символ тильды ~/ для обозначения home/user каталога пользователя.

Вы можете указать строку текста со знаком * .

Например, /~/*.txt заставит SCP скопировать все файлы в домашнем каталоге, которые заканчиваются на .txt .

Как правило, вам не нужно указывать расположение файла в текущем каталоге. Если вы находитесь в каталоге /home/user и хотите скопировать файл test.txt на сервер, вы можете ввести следующее:

scp test.txt username2@destination:/location2

Чтобы скопировать все файлы .txt в домашний каталог username2 , введите следующее:

scp *.txt username2@destination_host:/~/

Если вы укажете только каталог назначения, SCP оставит имя файла как есть.

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

scp test.txt username2@destination_host:/user/home/user1test.txt

В этом примере файл test.txt копируется с локального компьютера, а затем сохраняется как user1test.txt в каталоге пользователя системы назначения.

Если удаленная система настроена на прослушивание SSH-запросов на порт, отличный от порта 22 по умолчанию, используйте переключатель –P , чтобы указать порт:

scp –P 1234 test.txt user2@destination_host:/location2/

Это копирует test.tx t из вашей локальной системы на целевой хост, используя порт 1234.

Читайте также:  Вывод всех файлов linux

Копировать с одного удаленного хоста на другой

Вы не ограничены только подключением между локальным компьютером и удаленным сервером.

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

scp user1@host1.com:/files/test.txt user2@user2.com:/files

Это приведет к репликации файла test.txt из каталога /files на host1.com в каталог /files на /host2.com. Система предложит вам ввести пароль для пользователей user1 и user2 до завершения операции.

Копирование больших файлов с помощью SCP

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

Если операция прервана, мультиплексор позволит вам возобновить копирование без необходимости начинать заново.

Вы можете проверить, установлен ли в вашей системе tmux , выполнив в терминале следующее:

Рекомендации по использованию SCP

Команда scp не проверяет место назначения перед записью. Любые файлы в месте назначения с тем же именем будут перезаписаны без уведомления.

Вам будет предложено ввести пароль, когда вы нажмете Enter.

Используйте пароль пользователя в удаленной системе.

Управление разрешениями

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

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

Параметры команды SCP

scp [options] username1@source_host:/location1/file1 username2@destination_host:/location2/file2

Вот некоторые общие параметры команды scp:

  • –P — Указать порт SSH сервера
  • –p — сохранить метку времени для изменения и доступа (обратите внимание на строчные буквы)
  • –q — тихий режим, без отображения прогресса или сообщений (все равно будут отображаться ошибки)
  • –C — Сжимать данные во время передачи
  • –r — Рекурсивно — включать подкаталоги и их содержимое

Раздел, следующий сразу за параметрами, — это источник (путь) файла, который вы хотите скопировать. Вы можете скопировать из своей системы в удаленную или наоборот.

В следующем разделе указывается место, куда копируется файл. Например:

scp user@local_system:/home/user/test.txt admin@remote_system:/home/user

Это скопирует документ test.txt из пользовательского каталога в локальной системе и поместит копию в каталог учетной записи администратора в удаленной системе.

Другой пример SCP — чтобы скопировать файл с удаленного хоста на локальный:

scp user@from_host:file.txt /local/directory/

Итоги

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

Источник

Оцените статью
Adblock
detector