您选择的密码不太可能对 SSH 的性能产生影响。在大多数情况下,您的 CPU 可以比您的网络跟上的速度更快地进行加密/解密。在大多数情况下,网络带宽似乎是限制因素。
因此,我建议您将 SSH 保留为默认值。他们很好。默认值是相当安全的,使用默认值进行调整不太可能提供明显更好的性能。
如果你真的想玩弄参数,你可以查看 SSH 的压缩使用。默认情况下,所有数据在通过加密通道发送之前都会被压缩。您可以调整压缩级别ssh -o 'CompressionLevel 6'
(将 6 替换为 1-9 之间的任意数字,1 最快,9 最慢)。但是,就我个人而言,我没有发现改变压缩级别有显着的收益。此外,如果您要传输已使用 scp 压缩的文件,您可以使用scp -o 'Compression no' ...
. 在某些情况下(您的网络非常快而 CPU 速度较慢),这可能会有所帮助,但根据我的经验,我还没有发现它有足够大的差异值得担心。
在我的 OpenSSH 客户端支持的密码中,以下所有密码都应该提供强大的安全性:
aes128-ctr,aes192-ctr,aes256-ctr
aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
aes256-cbc
您不应该使用des
,因为它提供的安全性较弱(3des
很好)。我不确定arcfour128
、arcfour256
和arcfour
,因为我没有跟上这方面的文献,但它们对我来说似乎比其他的风险更大。在我的 OpenSSH 客户端支持的消息验证码 (MAC) 算法中,以下所有算法都应该提供强大的安全性:
hmac-md5,hmac-sha1,umac-64@openssh.com,
hmac-ripemd160,hmac-sha1-96,hmac-md5-96
在我的 OpenSSH 客户端支持的 HostKeyAlgorithms 中,所有支持的选项 ( ssh-rsa
, ssh-dss
) 都很好,并且应该提供强大的安全性,只要您选择足够长度的密钥。我不熟悉 KexAlgorithms 选项。
简而言之,基本上所有提供的加密选项都应该足够安全,除了不要使用 plaindes
并且最好避免使用arcfour
-based 密码。