版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
ssh的確很強大,可以很方便的實現從本地端口到遠程端口的映射,通常情況下使用 -L 或者 -R參數,例如:
ssh xxx@xxx.xxx -L 8023:RemoteIP:23
-L 將本地的某個端口映射到遠程主機的某個端口上,上例中就是將本地的8023端口映射到遠程主機的23號端口上,這樣就可以直接telnet本機的8023端口來訪問遠程主機了。
但是需要說明的是RemoteIP可以是127.0.0.1,此時127.0.0.1指的是遠程計算機,而非本機地址。
-R 則正好與-L相反,它將遠程主機的某個端口映射到本地的某個端口上,例如:
ssh xxx@xxx.xxx -R 8023:LocalIP:23
上例將遠程主機的8023端口映射到本機的23號端口,這樣遠程主機就可以telnet 自己的8023端口來訪問本地主機了。
最后-D參數將在本地開啟一個socks5代理端口,該端口接收到的數據將通過加密隧道傳輸到遠程主機,並有遠程主機代理發出,例如:
ssh xxx@xxx.xxx -D 7070
上例在本地開啟一個7070號socks5代理,瀏覽器等應用程序可以使用該端口通過遠程主機訪問網絡。
需要說明的是,-D參數開啟的socks代理,在我的機器上好像只有Chrome能使用,IE不能使用,原因未明,估計是DNS解析的問題。