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

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

我想建立一个 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 对数据进行两次压缩?

答案1

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

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

相关内容