当前位置: 首页>>技术教程>>正文


SSH是否使用任何压缩?

,

问题描述

我很好奇,SSH在发送/接收数据之前是否压缩了它的数据?如果它没有默认,那么它可以打开吗?

最佳解决方法

不,是的。的种类。也就是说,它支持压缩(zlib或zlib-ish,我记得),但OpenSSH的库存副本默认情况下没有启用它,虽然某些发行版可能默认启用它(我不认为Ubuntu会这样做)。

有关详细信息,请参阅man ssh_config。您正在寻找CompressionCompressionLevel选项,然后您可以在/etc/ssh/ssh_config中进行设置。

请注意,sshd_config中的服务器端还有一个Compression选项,用于确定是否允许压缩(默认情况下)。有关详细信息,请参阅man sshd_config

您还可以使用命令行选项-C在per-session的基础上打开压缩。

请注意,如果您和服务器之间的连接速度很快(例如,在同一个LAN上,或者只是在非常好的互联网连接上),或者一方或双方的CPU速度很慢(压缩吃了一点点),压缩实际上会对性能产生轻微的负面影响。 CPU时间)。

这些天来,对于大多数人来说,我建议只在需要时使用它。通常用于小于5-10mbps的链接,并且仅在传递大量批量数据时(not-already-compressed文件的传输,X11或VNC转发,类似的事情)。

次佳解决方法

您可以在任何SSH上启用gzip压缩。将Compression yes放入您的~/.ssh/config,它应该工作。或者,尝试使用-C选项运行ssh

第三种解决方法

从ssh手册页(键入man ssh以查看整个内容):

 -C      Requests compression of all data (including stdin, stdout,
         stderr, and data for forwarded X11 and TCP connections).  The
         compression algorithm is the same used by gzip(1), and the
         “level” can be controlled by the CompressionLevel option for pro-
         tocol version 1.  Compression is desirable on modem lines and
         other slow connections, but will only slow down things on fast
         networks.  The default value can be set on a host-by-host basis
         in the configuration files; see the Compression option.

所以只需改变:

ssh hostname

至:

ssh -C hostname

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2071.html,未经允许,请勿转载。