SCP - это инструмент командного интерпретатора для копирования и передачи файлов между хостами, использующий в качестве транспорта SSH. Утилита удаленного копирования scp входит в состав пакета openssh. По умолчанию, утилита scp предустановлена практически в любом Linux дистрибутиве. В дистрибутивах ubuntu/debian, scp являются частью пакета openssh-client.
Базовый синтаксис достаточно простой:
В зависимости от хоста, путь должен включать полный адрес, порт, имя пользователя, пароль и полный путь до директории. Если вы посылайте файл с вашей локального компьютера на удаленный, то синтаксис будет выглядеть так:
Если вы хотите скопировать файл с удаленной машины на свой ПК, используйте такой синтаксис:
По умолчанию, scp всегда будет перезаписать существующие файлы.
01. Подробный вывод о копировании
Подробный вывод выводит полную информацию о копировании, которая может полезна для анализа каких-либо ошибок запроса.
02. Передача нескольких файлов
03. Копирования текущей директории (рекурсивно)
04. Копирование файла с одного удаленного хоста на другой удаленный хост
05. Ускорить передачу с компрессией
06. Ограничение скорости передачи
07. Подключение к другому порту (2222) удаленного хоста
08. Копирование с сохранением атрибутов файла
09. Копирование в режиме Quiet mode
10. Копирование с указанием удостоверяющего файла
11. Копирование с указанием другого ssh_config файла
12. Копирование с использованием измененного шифрования
Базовый синтаксис достаточно простой:
scp source_file_path destination_file_path
В зависимости от хоста, путь должен включать полный адрес, порт, имя пользователя, пароль и полный путь до директории. Если вы посылайте файл с вашей локального компьютера на удаленный, то синтаксис будет выглядеть так:
scp ~/my_local_file.txt user@remote_host:/path/to/directory
Если вы хотите скопировать файл с удаленной машины на свой ПК, используйте такой синтаксис:
scp user@remote_host:/path/to/file.txt ~/my_local_file.txt # Просто скачать файл $ scp user@remote_host:/path/to/file.txt .
По умолчанию, scp всегда будет перезаписать существующие файлы.
01. Подробный вывод о копировании
Подробный вывод выводит полную информацию о копировании, которая может полезна для анализа каких-либо ошибок запроса.
scp -v ~/Documents/sample.txt rtfm@192.168.100.30:~/Downloads/sample.txt Executing: program /usr/bin/ssh host 192.168.100.30, user rtfm, command scp -v -t ~/Downloads/sample.txt OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to 192.168.100.30 [192.168.100.30] port 22. debug1: Connection established. ..... OUTPUT TRUNCATED
02. Передача нескольких файлов
scp foo.txt bar.txt user@remote_host:/path/to/directory/
03. Копирования текущей директории (рекурсивно)
scp -v -r ~/Downloads user@remote_host:~/Downloads
04. Копирование файла с одного удаленного хоста на другой удаленный хост
scp user_1@remote_host1:/path/to/file.txt user_2@remote_host2:/path/to/directory/
05. Ускорить передачу с компрессией
scp -vrC ~/Downloads user@remote_host:~/Downloads
06. Ограничение скорости передачи
scp -vrC -l 350 ~/Downloads user@remote_host:~/Downloads
07. Подключение к другому порту (2222) удаленного хоста
scp -vC -P 2222 ~/file.txt user@remote_host:/path/to/file.txt
08. Копирование с сохранением атрибутов файла
scp -C -p ~/file.txt user@remote_host:/path/to/file.txt
09. Копирование в режиме Quiet mode
scp -vCq ~/file.txt user@remote_host:/path/to/file.txt
10. Копирование с указанием удостоверяющего файла
scp -vCq -i private_key.pem ~/file.txt host@remote_host:/path/to/file.txt
11. Копирование с указанием другого ssh_config файла
scp -vC -F /home/user/my_ssh_config ~/file.txt host@remote_host:/path/to/file.txt
12. Копирование с использованием измененного шифрования
scp -c blowfish -C ~/file.txt host@remote_host:/path/to/file.txt