用途

通过ssh通道,不同主机之间复制文件

用法

scp [options] [user@host:]file1 [user2@host2:]file2

常用参数

-1
使用 ssh 1协议

-2
使用ssh 2协议

-4
仅使用IPv4地址

-6
仅使用IPv6地址

-B
选择批处理模式,不询问输入密码或者其它授权信息

-C
启用压缩,传递给ssh

-c cipher
指定加密算法,会传递给ssh

-F ssh_config
指定ssh使用的配置文件,会直接传递给ssh

-i identity_file
指定用于授权的公钥文件,会直接传递给ssh

-l limit
限速,以Kbit/s为单位

-o ssh_options
使用ssh-config的形式,传递参数给ssh,相关详情查询ssh-config

-P prot
远程主机端口

-p
保留源文件的修改时间,访问时间,以及权限

-q
静默模式,不输出任何信息

-r
递归复制整个目录。如果是软链文件,会复制指向的真实的文件。

-S program
指定加密连接使用的程序,需要能够识别ssh配置

-v
详情模式,尽可能输出详细的信息

实践

1.上传目录到远程主机

[root@vm ~]# scp -r -p -P 32800 ./test wadeyu@192.168.2.8:~/
wadeyu@192.168.2.8's password:
ntp.conf 100% 1830 1.8KB/s 00:00

远程主机

[wadeyu@localhost ~]$ ll
total 8
-rw-r--r-- 1 root root 302 Jan 23 17:01 changed.log
drwxr-xr-x 2 wadeyu nginx 4096 Feb 26 15:27 test

2.从远程主机下载文件到本地

[root@vm ~]# scp -p -P 32800 wadeyu@192.168.2.8:~/t.log ./
wadeyu@192.168.2.8's password:
t.log 100% 4 0.0KB/s 00:00
[root@vm ~]# ll
total 37348
-rw-r--r--. 1 root root 12352976 Jan 3 10:24 node-v8.9.4-linux-x64.tar.xz
-rw-r--r--. 1 root root 1197370 Nov 7 2016 pip-9.0.1.tar.gz
-rw-r--r--. 1 root root 22710891 Dec 19 13:36 Python-3.6.4.tgz
-rw-r--r--. 1 root root 737603 Jan 5 21:40 setuptools-38.4.0.zip
-rw-r--r--. 1 root root 418354 Jul 25 2017 supervisor-3.3.3.tar.gz
-rw-r--r--. 1 root root 802928 Jan 11 09:40 swoole-v2.0.10-stable.tar.gz
drwxr-xr-x. 2 root root 4096 Feb 26 15:27 test
-rw-r--r--. 1 root root 4 Feb 26 15:55 t.log

后记

1. 生成公钥证书指纹
ssh-keygen -lf ./ssh_host_rsa_key.pub

参考资料

【1】man scp
【2】每天一个linux命令(60):scp命令
https://www.cnblogs.com/peida/archive/2013/03/15/2960802.html
【3】How do I find my RSA key fingerprint?
https://stackoverflow.com/questions/9607295/how-do-i-find-my-rsa-key-fingerprint
【4】RSA 与 DSA
http://www.cnblogs.com/chromebook/p/4112329.html

N天学习一个linux命令之scp的更多相关文章

  1. N天学习一个Linux命令之帮助命令:man

    前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...

  2. N天学习一个Linux命令之free

    用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...

  3. N天学习一个linux命令之ping

    用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...

  4. N天学习一个linux命令之kill

    用途 用于终止进程 用法 kill [-s signal|-p] [--] pid... kill -l [signal] 说明 1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对 ...

  5. N天学习一个linux命令之du

    用途 统计文件或者目录占用硬盘空间大小 用法 du [OPTION] [FILE]du [OPTION] --files0-from=F 常用参数 -a, --all统计所有文件,不仅仅是目录 -b, ...

  6. 每天一个linux命令(47)--scp命令

    scp是secure  copy 的简写,用于在Linux 下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝而不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当 ...

  7. 每天学习一个Linux命令-目录

    在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...

  8. 每天一个linux命令:scp命令

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  9. N天学习一个linux命令之umask

    前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...

随机推荐

  1. [Swift通天遁地]三、手势与图表-(3)通过捏合手势放大和缩小图像视图

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. Vue组件库elementUI 在el-row 或 el-col 上使用@click无效失效,

    问题: elementUI 在el-row 或者 el-col 上使用@click失效, 解决: 在click后面加上 .native .要使用@click.native=”handler()”才行, ...

  3. Win7 + VS2015 + Python3.6编译

    0. 下载安装hg. http://bitbucket.org/tortoisehg/files/downloads/tortoisehg-4.0.1-x64.msi 1. 下载Python3.6源代 ...

  4. .Net application,Session,Cache简单比较

    Application 对象用于存储和访问来自任何页面的变量,类似于 session 对象.不同之处在于,所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对 ...

  5. ex41习题 41: 来自 Percal 25 号行星的哥顿人(Gothons)

    ex41习题 41: 来自 Percal 25 号行星的哥顿人(Gothons) 学习到本题卡住了,遇到一点费解的地方,mark一下.本题主要是介绍函数在字典这种数据类型中的应用,本实验在python ...

  6. MVC系列学习(十三)-合并JS和CSS

    1.先来看看,不用合并js的情况,传输量大 1.1新建一个 [基本]的mvc项目 然后新建一个控制器HomeController,因为js会在很多视图中用到,所以此时我们添加一个视图带布局页Index ...

  7. 初始MongoDB------MongoDB的安装

    MongoDB在Windows的安装是很简单的,无论是安装包还是绿色包,安装出来的都是这些文件   重点是Bin中的东西   特别是前两个的执行文件 mongod进程就是启动MongoDB数据库的进程 ...

  8. c++中std::set自定义去重和排序函数

    c++中的std::set,是基于红黑树的平衡二叉树的数据结构实现的一种容器,因为其中所包含的元素的值是唯一的,因此主要用于去重和排序.这篇文章的目的在于探讨和分享如何正确使用std::set实现去重 ...

  9. Python语言之数据结构1(序列--列表,元组,字符串)

    0.序列 列表,元组,字符串都是序列. 序列有两个特点:索引操作符和切片操作符.索引操作符让我们可以从序列中抓取一个特定项目.切片操作符让我们能够获取序列的一个切片,即一部分序列. 以字符串为例: 1 ...

  10. Python标准库sys

    1.命令行参数sys.argv 我们从Python语言之模块第一部分的例子开始,看看sys.argv中到底存了些什么内容. #Filename: using_sys.py import sys i=0 ...