scp简述

scp是secure copy的简称,是基于ssh连接的轻量级安全传输工具,可用于上传、下载以及不同远程主机之间的传输。
你可以在Linux、Mac系统中使用scp,在Windows也可以使用WinSCP
scp.png

命令实例

上传

上传文件"zhaiqianfeng.txt"

scp zhaiqianfeng.txt username@remotehost:/some/remote/directory

上传本地目录"zhaiqianfeng"

scp -r zhaiqianfeng/ username@remotehost:/some/remote/directory

把文件"zhaiqianfeng.txt"从remotehost-1上传到remotehost-2

scp username@remotehost-1:~/zhaiqianfeng.txt your_name@remotehost-2:/some/directory

上传多个文件"zhai.txt","qianfeng.txt"

scp zhai.txt qianfeng.txt username@remotehost:~
下载

下载文件"zhaiqianfeng.txt"

scp username@remotehost:zhaiqianfeng.txt /some/local/directory

下载目录"zhaiqianfeng"

scp -r username@remotehost:~/zhaiqianfeng .

下载多个文件

scp username@remotehost:~/\{zhai.txt,qianfeng.txt\} .

技巧

切换算法

scp默认是使用AES-128加密算法加密数据传输,你可以根据安全和速度的具体需求使用参数-c(cipher)来换加密算法比如Blowfish或RC4。

scp -c blowfish some-file username@remotehost:~
scp -c arcfour some-file username@remotehost:~

RC4比Blowfish更快但安全性稍低,具体使用那个算法完全取决于你。你也可以使用Tripe-DES来增强安全

scp -c 3des some-file username@remotehost:~
压缩

你也可以使用参数-C(大写compress)来压缩后传输,但需要自己衡量因为压缩和解压都会给cpu增加负担,除非网络速度很低才考虑这种方式

scp -C some-file username@remotehost:~
限制带宽

可以使用-l参数限制速率,单位是Kbit/s,

scp -l 50 some-file username@remotehost:~
选择IP4或IP6

如果你想强制使用IP4可以

scp -4 some-file username@remotehost:~

强制使用IP6

scp -6 some-file username@remotehost:~
指定端口

指定端口上传,scp默认使用ssh的端口22,但通常服务器为了安全会更改此端口,scp允许你指定端口上传,如2208

scp -P 2208 zhai.txt username@remotehost:~

更多原创文章可关注我的个人博客:宅前疯 或微信公众账号:zhaiqianfeng
微信公众号:zhaiqianfeng


二叔
21 声望1 粉丝

积累是一个过程+专注Linux,Java,NodeJs和Web前端