当我这样做时(我尝试了各种方法):
ssh -v -C -o CompressionLevel=9 user@ip
ssh -v -C -o 'CompressionLevel=9' user@ip
ssh -v -o 'Compression=yes' -o 'CompressionLevel=9' user@ip
ssh -v -o 'CompressionLevel=9' -o 'Compression=yes' user@ip
ssh -v -C -o 'CompressionLevel 9' user@ip
ssh -v -o 'Compression yes' -o 'CompressionLevel 9' user@ip
ssh -v -o 'CompressionLevel 9' -o 'Compression yes' user@ip
我启用了-v
,因此我可以看到连接详细信息,并且无论我尝试什么,我都无法获得超过 6 的压缩级别,如详细输出中所示:
debug1: Enabling compression at level 6.
我不需要设置CompressionLevel
,ssh_config
我需要用cli来做。
我发现一些信息,该选项CompressionLevel
仅适用于 ssh 版本 1,但不适用于 ssh 版本 2。
如何设置 ssh 版本 2 协议的最大压缩级别?
答案1
不能。正如手册页明确指出的那样,CompressionLevel
这只是协议版本 1 的一个选项。
看这寻找可能的替代方案,但除非你真实的速度慢或连接费用昂贵,使用默认方法是一种更好的方法。
答案2
不能,ssh 协议 V2 不允许协商压缩级别。它固定在速度和压缩之间达到良好平衡的点。
答案3
好的,我想到了一个解决方案:
首先,我创建一个加密的、非压缩的 ssh v2 隧道:
ssh -fN -L frwrd_port:frwrd_ip:22 user@ip
然后,我使用 ssh v1 和一些快速密码,比如 arcfour 并在第一步中创建的隧道上启用最大压缩:
ssh -1 -c arcfour -C -o "CompressionLevel=9" -p frwrd_port user@frwrd_ip