Command-Line

通過另一台機器登錄,僅在末端進行(解)壓縮

  • March 6, 2014

我環顧四周,但找不到一個非常簡單的問題的答案:

我想從機器 A 登錄到機器 C,通過機器 B。但是,B 很慢,所以我還希望我到 C 的連接在 C 處壓縮/解壓縮,通過 B 隧道化,並在 A 處解壓縮/壓縮.

在以下情況下,我應該(在機器 A 中)執行什麼 ssh 命令以在機器 C 上獲得提示:

  1. 我在機器 A 上。
  2. 我可以使用 ssh 直接登錄…

2.1。… 從 A 進入機器 B

2.2. … 從 B 進入機器 C 3. 我無法直接從 A 登錄機器 C


$$ EDIT $$ 這不是重複的,因為:

  1. 我不是在問一般如何轉發流量,只是一個 ssh 連接,因此對於通過 ssh 進行 ssh 轉發的特定情況可能會有不同的答案
  2. 我要求在末端進行壓縮(甚至標題都提到)

假設你有:

  • A 帶有 ip 地址 ip_A
  • B 帶有 ip 地址 ip_B
  • C 帶有 ip 地址 ip_C

從第一個終端連接到 B 並在 ssh 上設置到 C 的隧道(埠 10022 用於隧道,但它可以是其他任何東西):

ssh ip_B -L10022:ip_C:22

然後從另一個終端,您將能夠使用剛剛設置的隧道從 A“直接”連接到 C,如果需要,您可以在 ssh 命令中添加一些壓縮選項:

ssh localhost -p 10022 -o "Compression=yes" -o "CompressionLevel=9"

在最新的命令中,我將壓縮設置為最大,但它可以從 1 調整到 9,9 是最高的,但也是最慢的。

引用自:https://unix.stackexchange.com/questions/118314