SSH Tunnel -L -R

user-pic
Vote 0 Votes

直接講範例比較容易了解
HostA 本地主機, Linux
HostB 遠端主機, Linux
HostC 其他主機

-L (Local Port Forwarding) 使用時機

  • 情況一: HostA 可能因為防火牆關係無法直接連到 HostC, 但是可以連到 HostB, 想透過 HostB 連 HostC
  • 情況二: HostB, HostC 都在同公司內, 在外點的 HostA 想建立一條安全的通道去連 HostC
    ssh -fgNL 7777:HostC:7777 user@HostB
    建立 HostA:7777 經由 HostB 到 HostC:7777,
    在 HostA 連 localhost:7777 就會通到 HostC:7777

    -R (Remote Port Forwarding) 使用時機

  • 情況一: HostB 可能因為防火牆關係無法直接連到 HostC, 但是可以連到 HostA, 想透過 HostA 連 HostC
    ssh -fNR 2222:HostC:22 user@HostB
    建立 HostB:2222 經由 HostA 到 HostC:22
    在 HostB 連 localhost:2222 就會通到 HostC:22
  • 情況二: HostA 在 NAT 下, 但是又沒有權限在 Gateway 設 DMZ 或 Port Mapping, 想讓有 Public IP 的 HostB 能連進來
    ssh -fNR 2222:127.0.0.1:22 user@HostB
    在 HostB 連 localhost:2222 就可以連到 HostA:22

    註1: root 權限才能使用 1023 以下的 Port, 一般 User 只能使用 1024 以上的 Port
    註2: 在 Windows 下可以用 PuTTY 的 GUI 或 plink, 一樣有 -L -R 參數,
    可參考 gslin 的 用 PuTTY 的 tunnel 安全地瀏覽網頁

  • Leave a comment

    About this Entry

    This page contains a single entry by Pank published on April 5, 2009 3:15 AM.

    Postfix recipient_bcc_maps and sender_bcc_maps was the previous entry in this blog.

    Free landline call is the next entry in this blog.

    Find recent content on the main index or look in the archives to find all content.

    Monthly Archives