Вступление
Команда 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).
- -i identity_file Выбирает файл, из которого читается идентификатор (закрытый ключ) для аутентификации с открытым ключом. Эта опция напрямую передается в ssh (1).
- -l limit Ограничивает используемую пропускную способность, указанную в Кбит / с.
- -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 tech@192.168.20.10:/var/www/html
Копировать каталоги на удаленный хост
scp -Pr 2023 /home/tech/website/ tech@192.168.20.10:/tmp/
Копирование файлов с удаленного хоста на локальный компьютер
scp tech@192.168.20.10:/tmp/index.html /home/tech/website
С помощью scp вы можете копировать файлы между двумя удаленными хостами. Это довольно круто.
scp tech1@192.168.20.10:/var/log/messages tech2@192.168.20.30:/tmp/logs/
Если вы хотите, чтобы вышеуказанный транзит файлов к удаленному файлу проходил через локальный компьютер, добавьте параметр -3, как показано ниже:
scp -3 tech1@192.168.20.10:/var/log/messages tech2@192.168.20.30:/tmp/logs/
Если вы хотите сохранить время доступа, время модификации и режимы из исходного файла, используйте опцию p
scp -pv /home/tech/index.html tech@192.168.20.10:/tmp/
scp может использовать функцию сжатия ssh при передаче файлов.
scp -Cr /home/tech/website/ tech@192.168.20.10:/tmp/ ## Passes the -C flag to ssh to enable compression.
Чтобы отключить индикатор прогресса, а также предупреждения и диагностические сообщения от ssh при использовании scp, используйте параметр -q
scp -pqr /home/tech/website/ tech@192.168.20.10:/tmp/
Заключение
Команда scp очень полезна, особенно для удаленного копирования файлов.
Никогда не волнуйтесь из-за переноса важных данных с одного хоста на другой.
См. также:
- ? Как использовать команду PSCP в Windows?
- ffsend — как легко и безопасно обмениваться файлами из командной строки Linux с помощью Firefox Send Client