1、项目信息
host os:Kylin-Server-V10
2、问题描述及原因分析
linux之间scp速率无论是机械盘还是SSD均仅有30MB/s左右,远低于网络及磁盘速率。
scp(Secure Copy)允许不同的主机之间进行文件传输。scp使用ssh进行数据的传输,提供了和ssh相同的身份认证和同一级别的安全策略。
scp提供了参数-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
查询了scp支持多种加密和压缩算法: 3des-cbc,blowfish-cbc,cast128-cbc,arcfour,arcfour128,arcfour256,aes128-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
等
经过验证,采用chacha20-poly1305@openssh.com算法可大幅提升速率接近125MB/s。示例如下:
scp -c chacha20-poly1305@openssh.com testfile root@x.x.x.x:~
ChaCha20-Poly1305是由ChaCha20流密码和Poly1305消息认证码(MAC)结合的一种应用在互联网安全协议中的认证加密算法,由Google公司率先在Andriod移动平台中的Chrome中代替RC4使用。由于其算法精简、安全性强、兼容性强等特点,目前Google致力于全面将其在移动端推广。
3、解决方案:
采用chacha20-poly1305@openssh.com提大幅提升速率至125MB/s。示例如下:
scp -c chacha20-poly1305@openssh.com testfile root@x.x.x.x:~