Копирование файлов в Linux через терминал на удаленный сервер

Нужно перекинуть файлы на сервер Linux? `scp` и `rsync` – твои лучшие друзья! Разберем, как это сделать быстро, безопасно и без лишних заморочек. Пошаговая инструкция внутри!

В Linux существует несколько способов копирования файлов на удаленный сервер через терминал. Два наиболее распространенных инструмента – scp и rsync. Оба используют SSH протокол‚ обеспечивая безопасную передачу данных.

Использование scp (Secure Copy)

scp ― простая команда для копирования файлов. Синтаксис:

scp [опции] файл_источник пользователь@хост:целевая_директория

Например‚ для копирования файла my_file.txt на сервер x3tc.ru в директорию /home/user/ под пользователем user‚ команда будет:

scp my_file.txt user@x3tc.ru:/home/user/

Аутентификация: По умолчанию‚ scp запросит пароль пользователя. Для большей безопасности рекомендуется использовать SSH ключи.

Использование rsync

rsync более мощный инструмент‚ поддерживающий инкрементное копирование. Он передает только изменения‚ экономя трафик и время. Синтаксис схож с scp.

rsync [опции] файл_источник пользователь@хост:целевая_директория

Пример:

rsync -avz my_file.txt user@x3tc.ru:/home/user/

Опции: -a (архивировать)‚ -v (verbose – подробный вывод)‚ -z (сжатие).

Безопасность: Оба инструмента используют SSH для защиты данных. Важно правильно настроить права доступа к файлам и директориям на целевом сервере.

Linux Phone: Процесс копирования файлов с Linux phone аналогичен‚ при условии наличия SSH клиента.

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

Детальная настройка scp и rsync

Хотя scp проста в использовании‚ она не всегда является оптимальным решением для больших файлов или нестабильного сетевого подключения. В таких случаях rsync показывает себя гораздо лучше благодаря возможности возобновления передачи после разрыва подключения. Кроме того‚ rsync‚ в отличие от scp‚ эффективно обрабатывает изменения в файле‚ передавая только измененные части‚ что значительно экономит время и трафик.

Для scp можно использовать опцию -C для включения сжатия данных во время передачи‚ что может повысить скорость при медленном подключении. Однако‚ это может увеличить нагрузку на процессор.

Для rsync‚ помимо упомянутых -avz‚ полезны опции:

  • --progress: Показывает прогресс копирования.
  • --delete: Удаляет файлы в целевой директории‚ которых нет в источнике. Это полезно для синхронизации директорий.
  • -e 'ssh -p порт': Указывает нестандартный порт для ssh подключения‚ если сервер настроен на использование другого порта‚ отличного от 22. как скопировать файл в linux через терминал на другой сервер

Аутентификация и безопасность

Использование пароля для аутентификации‚ хотя и просто‚ является наименее безопасным способом. Рекомендуется использовать ключи ssh. Для этого необходимо сгенерировать пару ключей (публичный и приватный) на локальной машине и скопировать публичный ключ на удаленный сервер в файл ~/.ssh/authorized_keys (для пользователя‚ под которым будет осуществляться копирование). После этого подключение и копирование будут происходить без запроса пароля.

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

Альтернативные способы указания хоста и пользователя

Вместо явного указания пользователя и хоста в команде‚ можно использовать конфигурацию ssh в файле ~/.ssh/config. Это позволяет задать параметры подключения (пользовательхостпортключ) для определенных хостов‚ что упрощает команды и повышает читаемость.

Пример файла ~/.ssh/config:


Host x3tc_server
HostName x3tc.ru
User user
Port 2222
IdentityFile ~/.ssh/id_rsa

В этом случае‚ команда rsync для копирования файла my_file.txt будет выглядеть так:

rsync -avz my_file.txt x3tc_server:/home/user/

Копирование с linux phone

Копирование файлов с linux phone происходит аналогично‚ при условии наличия установленного ssh клиента (например‚ Termux). Необходимо убедиться‚ что на linux phone установлен и настроен ssh клиент‚ и что можно установить подключение к удаленному серверу.

Выбор между scp и rsync зависит от конкретной задачи. scp ― простой и удобный инструмент для разового копирования небольших файлов. rsync ― более мощный и гибкий инструмент‚ подходящий для копирования больших объемов данных‚ синхронизации директорий и работы в нестабильных сетевых условиях. Независимо от выбранного инструмента‚ важно уделять внимание безопасности и правильной конфигурации ssh.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями: