如何用 scp 在本地和远程主机之间复制文件

admin2周前笔记24

使用 scp 命令可以将文件从远程操作系统服务器传输到本地操作系统,或从本地操作系统复制到远程操作系统。此命令使用 SSH 服务进行身份验证,并对传输的数据进行加密,所以它即可以使用用户名密码的方式进

image.png
基本格式
scp source target
将本地文件复制到远端服务器上
[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@ 是可选项,如果不指定,则使用你当前的本地用户。你所使用的用户必须要对远端主机上的对应目录有相应的权限。

  • 和 ssh 一样,第一次连接的时候,会有一个安全性的提示,选项 yse 就可以了,因为 scp 就是 OpenSSH 的一部分。

从远端就复制文件到本地
[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

如果是目录,我们可以通过 -r 选项进行递归的方式,复制整个目录内容

[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

我们还可以使用 scp 把一个文件从远端的一台主机,复制到另外一台主机上

[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


相关文章

三条命令助你快速实现 SSH 内网穿透

三条命令助你快速实现 SSH 内网穿透

ssh 反向隧道相信大多数同学都比较了解,就算不了解也一定在日常工作中听说过,其实抛开那些专业的术语,通常我们借助 ssh 的反向隧道来实现两个网络隔离的主机间通信。最近小白在远程操作一个私有化的项目...

Linux安装composer的教程

Linux安装composer的教程

composer 是php 5.3 版本以上用来管理依赖关系的工具,你可以在自已的项目中声明所依赖的外部工具库,并使用 composer 来安装它们。现在越来越多的 php 框架或sdk都需要 com...

grep 命令的 12 个实例

grep 命令的 12 个实例

你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧。grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没...

八大排序算法讲解与比较

排序算法概述所谓排序,就是根据排序码的递增或者递减顺序把数据元素依次排列起来,使一组任意排列的元素变为一组按其排序码线性有序的元素。本文将介绍八种最为经典常用的内部排序算法,包括插入排序(直接插入排序...

详细了解git fetch与git pull的区别

详细了解git fetch与git pull的区别

git fetch和git pull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向着目前已...

谷歌的原生多模态大模型Gemini来了,剑指GPT-4

谷歌的原生多模态大模型Gemini来了,剑指GPT-4

就在刚刚,谷歌扔下“震撼弹”。北京时间2月21日晚21点,美国科技巨头谷歌(Google)宣布推出全球性能最强大、轻量级的开源模型系列Gemma,分为2B(20亿参数)和7B(70亿)两种尺寸版本,2...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。