Use scp to copy files between local and remote hosts

Use scp to copy files between local and remote hosts

Use the scp command to transfer files from the remote operating system server to the local operating system, or copy from the local operating system to the remote operating system. This command uses the SSH service for authentication and encrypts the transmitted data, so it can use the username and password for authentication, or the key for authentication.

Basic format

scp source target

Copy local files to remote server

[student@servera ~]$ scp log.tar root@serverb:/logbackup
The authenticity of host 'serverb (172.25.250.11)' can't be established.
ECDSA key fingerprint is SHA256:BCd8VCfEpGbUo3zb1De0hd1Q5nOMEzYNpMFu5o7j4Fg.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'serverb,172.25.250.11' (ECDSA) to the list of known hosts.
root@serverb's password: 
log.tar                                                  100%   11MB  20.8MB/s   00:00    
[student@servera ~]$ ssh root@serverb "ls /logbackup"
root@serverb's password: 
log.tar
  • root@ is optional, if not specified, your current local user will be used. The user you are using must have corresponding permissions to the corresponding directory on the remote host.

  • Like ssh, when you connect for the first time, there will be a security prompt. The option yse is fine, because scp is part of OpenSSH.

Copy files from remote to local

[student@servera ~]$ scp root@serverb:/logbackup/log.tar backup/
root@serverb's password: 
log.tar                                                  100%   11MB  25.5MB/s   00:00    
[student@servera ~]$ ls backup/
log.tar

If it is a directory, we can use the -r option to recursively copy the entire directory content

[student@servera ~]$ scp -r root@serverb:/var/log/ backup/
root@serverb's password: 
lastlog                                                  100%  285KB   5.9MB/s   00:00    
README                                                   100% 1040   260.8KB/s   00:00    
wtmp                                                     100% 6912     2.6MB/s   00:00    
btmp                                                     100%    0     0.0KB/s   00:00    
audit.log                                                100%  208KB   8.0MB/s   00:00    
sssd.log                                                 100%    0     0.0KB/s   00:00    
sssd_implicit_files.log                                  100%  109    32.9KB/s   00:00    
sssd_nss.log                                             100%   94     8.6KB/s   00:00    
rhsm.log                                                 100% 3642     1.0MB/s   00:00    
tuned.log                                                100% 2434   904.9KB/s   00:00    
messages                                                 100% 1459KB  18.1MB/s   00:00    
secure                                                   100% 8298     3.4MB/s   00:00    
maillog                                                  100%    0     0.0KB/s   00:00    
spooler                                                  100%    0     0.0KB/s   00:00    
dnf.log                                                  100%  107KB   3.4MB/s   00:00    
dnf.librepo.log                                          100%  245KB   8.4MB/s   00:00    
dnf.rpm.log                                              100%   21KB   2.3MB/s   00:00    
hawkey.log                                               100%   18KB   3.8MB/s   00:00    
cron                                                     100% 7166   706.4KB/s   00:00    
boot.log                                                 100%    0     0.0KB/s   00:00    

We can also use scp to copy a file from a remote host to another host

[student@workstation ~]$ scp student@servera:/home/student/log.tar student@serverb:/home/student/
student@serverb's password: 
log.tar                                                  100%  670KB  19.6MB/s   00:00    
Connection to servera closed.
[student@workstation ~]$ ssh student@serverb "ls -l"
total 672
-rw-rw-r--. 1 student student 686080 Nov  6 20:54 log.tar

Guess you like

Origin blog.51cto.com/mageedu/2639706