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

Ska*_*rab 5 ssh ssh-tunnel

我想建立一个 ssh 隧道,通过网关机器将数据从我的计算机传输到远程机器。

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

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

  1. 在 ProxyCommand 中定义压缩和加密:

    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 命令中定义压缩和加密:

    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 命令中定义压缩和加密:

    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

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

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

mgo*_*ven 4

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

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