Используйте команду scp для безопасной передачи файлов с примерами |
Команда scp используется для копирования файлов и каталогов с одного компьютера на другой. Что ценно в этой утилите, так это то, что она использует ssh для туннелирования копирования. Это означает, что данные зашифрованы, поскольку они основаны на функциях безопасности ssh. Прежде чем начать использовать команду scp, убедитесь, что на компьютере/хосте, который будет получать файлы/каталоги, установлен и прослушивается sshd.
Вы можете использовать ключи SSH или пароль для аутентификации. Синтаксис scp довольно прост:
scp [OPTIONS] [files or directories] [user@remotehost]:[directory]
Ниже перечислены различные варианты scp:
- -3 Копии между двумя удаленными хостами передаются через локальный хост. Без этой опции данные копируются напрямую между двумя удаленными хостами. Обратите внимание, что эта опция отключает индикатор прогресса.
- -4 Заставляет scp использовать только адреса IPv4.
- -6 Заставляет scp использовать только адреса IPv6.
- -B Выбирает пакетный режим (предотвращает запрос паролей или кодовых фраз).
- -C Включить сжатие. Передает флаг -C в ssh(1), чтобы включить сжатие.
- -c cipher Выбирает шифр, который будет использоваться для шифрования передачи данных. Эта опция напрямую передается в ssh(1).
- -F ssh_config Указывает альтернативный файл конфигурации для каждого пользователя для ssh. Эта опция напрямую передается в ssh(1).
- -iident_file Выбирает файл, из которого считывается удостоверение (закрытый ключ) для аутентификации с открытым ключом. Эта опция напрямую передается в ssh(1).
- -l предел Ограничивает используемую полосу пропускания, указанную в Кбит/с.
- -o ssh_option Может использоваться для передачи параметров ssh в формате, используемом в ssh_config(5). Это полезно для указания параметров, для которых нет отдельного флага командной строки scp.
- -P порт Указывает порт для подключения к удаленному хосту. Обратите внимание, что эта опция написана с заглавной буквы P, потому что -p уже зарезервирован для сохранения времени и режимов файла.
- -p Сохраняет время модификации, время доступа и режимы исходного файла.
- -q Тихий режим: отключает индикатор выполнения, а также предупреждающие и диагностические сообщения от ssh(1).
- -r Рекурсивно копировать целые каталоги.
- -T Отключить строгую проверку имени файла.
- -v Подробный режим. Заставляет scp и ssh печатать отладочные сообщения о своем прогрессе.
Примеры использования scp
Указание другого порта, который использует удаленный хост ssh, кроме порта по умолчанию. Вариант v здесь добавляет многословия.
scp -Pv 2023 /home/tech/index.html [email :/var/www/html
Скопируйте каталоги на удаленный хост
scp -Pr 2023 /home/tech/website/ [email :/tmp/
Копирование файлов с удаленного хоста на локальный компьютер
scp [email :/tmp/index.html /home/tech/website
С помощью scp вы можете копировать файлы между двумя удаленными хостами. Это очень круто.
scp tech[email :/var/log/messages [email :/tmp/logs/
Если вы хотите, чтобы указанный выше транзит удаленных файлов через удаленный компьютер проходил через ваш локальный компьютер, добавьте параметр -3, как показано ниже:
scp -3 tech[email :/var/log/messages [email :/tmp/logs/
Если вы хотите сохранить время доступа, время модификации и режимы из исходного файла, используйте небольшую опцию p.
scp -pv /home/tech/index.html [email :/tmp/
scp может воспользоваться функцией сжатия ssh при передаче файлов.
scp -Cr /home/tech/website/ [email :/tmp/ ## Passes the -C flag to ssh to enable compression.
Чтобы отключить индикатор выполнения, а также предупреждающие и диагностические сообщения от ssh при использовании scp, используйте опцию -q.
scp -pqr /home/tech/website/ [email :/tmp/
Заключение
Команда scp особенно полезна для удаленного копирования файлов. Никогда больше не расстраивайтесь из-за переноса важных данных с одного хоста на другой.
Также проверьте:
- Как использовать команду rsync в Linux/Unix с примерами