如何使用ProxyCommand的ssh压缩选项?

我想build立一个SSH通道,通过网关机器将数据从我的电脑传输到远程机器。

我想复制大量的数据,因此我使用blowfish进行encryption并启用压缩。

以下哪个命令正确设置了encryption和压缩:

  1. 在ProxyCommand中定义压缩和encryption:

    ssh -L 5555:127.0.0.1:555 -o ProxyCommand="ssh -c blowfish -C user@gateway nc -q0 target 2222" user2@target -v

  2. 在主ssh命令中定义压缩和encryption:

    ssh -L 5555:127.0.0.1:555 -c blowfish -o ProxyCommand="ssh user@gateway nc -q0 target 2222" -C user2@target -v

  3. 在ProxyCommand和ssh命令中定义压缩和encryption:

    ssh -L 5555:127.0.0.1:555 -c blowfish -o ProxyCommand="ssh -c blowfish -C user@gateway nc -q0 target 2222" -C user2@target -v

debugging消息( -v )通知我已启用压缩。

选项3是否让ssh压缩数据两次?

命令1将压缩客户端和网关之间的数据,但不在网关和目标之间。 选项2将在客户端和目标之间压缩数据(代价是不压缩某些协议级别的数据,这不会很重要)。 选项3将压缩客户端和目标之间的数据,并在客户端和网关之间双重压缩数据(您绝对不需要)。

如果网关和目标之间的带宽较高(例如LAN速度),则使用选项1。如果不是,则使用选项2。