用途
通过 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.8s 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.8s 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
参考资料
1man scp
2 每天一个 linux 命令 (60):scp 命令
- https://www.cnblogs.com/peida/archive/2013/03/15/2960802.html
- 3How do I find my RSA key fingerprint?
- https://stackoverflow.com/questions/9607295/how-do-i-find-my-rsa-key-fingerprint
4RSA 与 DSA
http://www.cnblogs.com/chromebook/p/4112329.html
来源: http://www.bubuko.com/infodetail-2508236.html