КАК БЕЗОПАСНО КОПИРОВАТЬ ФАЙЛЫ С ПОМОЩЬЮ 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.txt из вашей локальной системы на целевой хост, используя порт 1234.
КОПИРОВАТЬ С ОДНОГО УДАЛЕННОГО ХОСТА НА ДРУГОЙ
Вы не ограничены только подключением между локальным компьютером и удаленным сервером.
Чтобы скопировать из одной удаленной системы в другую:
scp user1@host1.com:/files/test.txt user2@user2.com:/files
Это приведет к репликации файла test.txt из каталога /files на host1.com в каталог /files на /host2.com. Система предложит вам ввести пароль для пользователей user1 и user2 до завершения операции.
КОПИРОВАНИЕ БОЛЬШИХ ФАЙЛОВ С ПОМОЩЬЮ SCP
Если вы копируете большие файлы, запустите команду в терминальном мультиплексоре, например tmux.
Если операция прервана, мультиплексор позволит вам возобновить копирование без необходимости начинать заново.
Вы можете проверить, установлен ли в вашей системе tmux, выполнив в терминале следующее:
tmux -V
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ SCP
Команда scp не проверяет место назначения перед записью. Любые файлы в месте назначения с тем же именем будут перезаписаны без уведомления.
Вам будет предложено ввести пароль, когда вы нажмете Enter.
Используйте пароль пользователя в удаленной системе.
УПРАВЛЕНИЕ РАЗРЕШЕНИЯМИ
В исходной системе вам потребуется учетная запись с доступом для чтения к файлам, которые вы хотите скопировать.
В системе назначения вам потребуется учетная запись с правом записи в каталог, в котором будут сохранены файлы. Если вы столкнетесь с ошибками при копировании, вы можете попробовать учетную запись пользователя root для устранения неполадок с разрешениями.
ПАРАМЕТРЫ КОМАНДЫ SCP
Базовый синтаксис 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/
#devops #ssh #scp #linux #системное администрирование #программирование