2014年9月15日 星期一
[轉載] SSH port forward實例說明
由於最近滿常用到的,找到別人的講解,就備份一下
source: http://pank.org/blog/2009/04/ssh-tunnel--l--r.html
直接講範例比較容易了解
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 安全地瀏覽網頁
訂閱:
文章 (Atom)