Command-Line
通過另一台機器登錄,僅在末端進行(解)壓縮
我環顧四周,但找不到一個非常簡單的問題的答案:
我想從機器 A 登錄到機器 C,通過機器 B。但是,B 很慢,所以我還希望我到 C 的連接在 C 處壓縮/解壓縮,通過 B 隧道化,並在 A 處解壓縮/壓縮.
在以下情況下,我應該(在機器 A 中)執行什麼 ssh 命令以在機器 C 上獲得提示:
- 我在機器 A 上。
- 我可以使用 ssh 直接登錄…
2.1。… 從 A 進入機器 B
2.2. … 從 B 進入機器 C 3. 我無法直接從 A 登錄機器 C
$$ EDIT $$ 這不是重複的,因為:
- 我不是在問一般如何轉發流量,只是一個 ssh 連接,因此對於通過 ssh 進行 ssh 轉發的特定情況可能會有不同的答案
- 我要求在末端進行壓縮(甚至標題都提到)
假設你有:
- 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 是最高的,但也是最慢的。