SSH 压缩

8 compression ssh

我想对我的 ssh 隧道进行最大压缩,因为我在拨号线上;)

在手册页可以阅读:

CompressionLevel ..... 值的含义与 gzip(1) 中的相同。请注意,此选项仅适用于协议版本 1。

如果我想要最大压缩率并且在使用 ssh 版本 2 时怎么办?

如何知道我使用的协议版本?

use*_*825 5

根据您的使用案例,您可能希望利用管道来为某些流实现更高的压缩级别。

ssh ${SSH_USER}@${SSH_HOST} "
    echo 'string to be compressed' | gzip -9
" | zcat | echo -
Run Code Online (Sandbox Code Playgroud)

上面的示例在远程端 ( gzip) 压缩字符串/流,并在本地端 ( zcat) 接收时对其进行解压缩。

请注意,ssh 的压缩是有意关闭的。仅使用管道的压缩。

您也可以使用其他压缩工具,例如bz2xz。考虑它们各自的性能影响。

注意:看起来,如果压缩使用非常慢的算法,则流可能无法及时传送,并且连接会因错误而“关闭”。


Kha*_*led 3

要了解 ssh 的协议版本,您可以-v在 ssh 命令中包含选项。

要请求压缩,您可以使用-C选项。即使对于协议版本 2,这也应该有效。

  • 只需保留默认值并使用 ssh2 即可。差别不大,使用 v2 所带来的安全性收益是值得的。 (10认同)