ssh是加密的,加密主要在于两个方面,一是登录的时候,登录信息加密,另一个是在传输的时候,所有传输的数据都是经过加密的,可以防止一般的窃听。
不同的加密方式有着不同的安全程度,但同时也影响着数据传输的效率,也即鱼和熊掌的关系。
但是在局域网的情况下,或者所传输的内容不是很重要的话,完全可以选择加密强度低一些的算法,以此来加快网络传输的速度。
本文就ssh2常用的几种算法,来大致对比ssh传输的性能。
SSh2所支持的加密算法有:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
arcfour128:即rc4系列
arcfour256
arcfour
blowfish-cbc
cast128-cbc
ssh1还支持des模式,但是在ssh2默认是不支持的。
test@abc:~ % scp -c 3des-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 16.1MB/s 00:13
test@abc:~ % scp -c aes128-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 104.7MB/s 00:02
test@abc:~ % scp -c aes192-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 69.8MB/s 00:03
test@abc:~ % scp -c aes256-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 69.8MB/s 00:03
test@abc:~ % scp -c aes128-ctr -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 104.7MB/s 00:02
test@abc:~ % scp -c aes192-ctr -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 69.8MB/s 00:03
test@abc:~ % scp -c aes256-ctr -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 69.8MB/s 00:03
test@abc:~ % scp -c aes128-gcm@openssh.com -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
no matching cipher found: client aes128-gcm@openssh.com server aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
test@abc:~ % scp -c "aes128-gcm@openssh.com" -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
no matching cipher found: client aes128-gcm@openssh.com server aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
test@abc:~ % scp -c arcfour256 -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 104.7MB/s 00:02
test@abc:~ % scp -c arcfour128 -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 209.3MB/s 00:01
test@abc:~ % scp -c arcfour128 -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 104.7MB/s 00:02
test@abc:~ % scp -c arcfour128 -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 209.3MB/s 00:01
test@abc:~ % scp -c arcfour -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 209.3MB/s 00:01
test@abc:~ % scp -c blowfish-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 52.3MB/s 00:04
test@abc:~ % scp -c blowfish-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 69.8MB/s 00:03
test@abc:~ % scp -c cast128-cbc -P 122 test@192.168.22.3:/home/test/test.tar.gz ./
Password for test@ddd:
test.tar.gz 100% 209MB 52.3MB/s 00:04
总结:
1、最慢的是3des,三次的des看来就是比较麻烦。
2、rc4系列最快,rc系列本身的算法就不是很麻烦,速度快是正常的,但是据资料显示,blowfish也比较快,但是测试效果虽然比较快,但竟然比rc4差了一大截。
3、aes128能达到千兆的速度,跟rc4有一拼,但是aes192和aes256就差了一些,并且192和256速度竟然相关无几。
4、可能是机器有缓存,有时千兆线路竟然能跑到两个千兆(209M字节/s)。
该贴由hui.chen转至本版2014-11-5 17:04:54