@TOC
SCP — это аббревиатура протокола безопасного копирования, который является частью протокола SSH (Secure Shell) и используется для передачи файлов между сетями. Он использует шифрование для копирования файлов между локальным хостом и удаленным хостом.
scp [параметры] [исходный файл] [адрес назначения]
-1: использовать протокол ssh версии 1;
-2: использовать протокол ssh версии 2;
-4: использовать ipv4;
-6: использовать ipv6;
-B: запуск в пакетном режиме;
-C:Включить сжатую передачу;
-F: указать файл конфигурации ssh;
-i:identity_file Прочитайте ключевой файл, используемый для передачи, из указанного файла (например, облачного pem Amazon), этот параметр передается непосредственно в ssh;
-l: указать ограничение пропускной способности;
-o: указать используемый параметр ssh;
-P: указать номер порта удаленного хоста;
-p: сохранить время последнего изменения, время последнего доступа и режим доступа к файлу;
-q: не отображать прогресс копирования;
-r: Рекурсивно.
scp local_file remote_username@remote_ip:remote_folder
[root@jeven ~]# scp test.txt root@192.168.3.127:/root/
The authenticity of host '192.168.3.127 (192.168.3.127)' can't be established.
ECDSA key fingerprint is SHA256:dUkFPZRRxM2ZyHe2A7l29NqgJanMuuty4k8OMny3b2g.
ECDSA key fingerprint is MD5:3d:97:85:08:a0:a7:2f:7d:de:79:34:f7:7e:4e:20:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.3.127' (ECDSA) to the list of known hosts.
root@192.168.3.127's password:
test.txt
[root@docker ~]# cat test.txt
node01-jeven
scp remote_username@remote_ip:remote_file local_folder
[root@jeven ~]# scp root@192.168.3.127:/root/web.yaml ./
root@192.168.3.127's password:
web.yaml 100% 587 17.3KB/s 00:00
[root@jeven ~]# ls -l web.yaml
-rw-r--r--. 1 root root 587 Sep 2 18:45 web.yaml
scp -r local_folder remote_username@remote_ip:remote_folder
[root@jeven ~]# scp -r jeven/ root@192.168.3.127:/root/test/
root@192.168.3.127's password:
aa.txt
[root@docker ~]# ls test/jeven/
a
[root@docker ~]# tree test/jeven/
test/jeven/
└── a
└── aa.txt
1 directory, 1 file
scp -r remote_username@remote_ip:remote_folder local_folder
[root@jeven ~]# scp -r root@192.168.3.127:/root/node02 ./
root@192.168.3.127's password:
Чтобы перенести локальный файл /home/user/file.txt в каталог /home/remoteuser/ удаленного хоста и сохранить информацию о его разрешениях, вы можете использовать следующую команду
scp -p /home/user/file.txt remoteuser@remotehost:/home/remoteuser/
При копировании локальных файлов на удаленный хост включите передачу со сжатием.
scp -C local_file remote_username@remote_ip:remote_folder