SSH 压缩

SSH 压缩

我希望我的 ssh 隧道实现最大程度的压缩,因为我使用的是拨号线路;)

在手册页中可以看到:

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

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

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

答案1

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

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

答案2

根据您的使用情况,您可能需要利用管道来实现某些流的更高压缩级别。

ssh ${SSH_USER}@${SSH_HOST} "
    echo 'string to be compressed' | gzip -9
" | zcat | echo -

上面的例子在远程端压缩字符串/流(gzip)并在本地端接收时解压缩它(zcat)。

注意 ssh 的压缩是离开取决于意图。仅使用管道的压缩力。

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

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

相关内容