2012年6月14日 星期四

ssh port forwarding using Putty

先前我貼過一篇相關文章,後來發現在windows環境下其實putty已經可以很完美又簡單的幫我達成這個任務,完全沒必要為了這個小功能再去裝什麼virtual, ubuntu, 及搞兩邊os資料同步問題。

事前準備:

  1. 下載 pietty
  2. 確定你要的功能是從你的電腦(A)透過(B)連到(C),並將防火牆該開的port都開好。

步驟:

  1. 執行pietty
  2. 勾選PuTTY模式
  3. 至Connection->SSH->Tunnels選單
    image
  4. Soucre port 輸入本機端(A)的port,Destination輸入(C)的IP跟port,IP與port之間要有個冒號。下面選項選取Local是要連出去,選Remote是讓別人連進來,所以我們的需求是選Local。填好後按下Add。
     image
    image
  5. 點選Session,Host Name輸入(B)的IP,下方Saved Sessions格子可填入一個名字,然後按右邊的Save,便可將剛剛的設定存下,以後要再做一樣的動作時就可以直接連線。
    image
  6. 按下Open,輸入(B)的帳號密碼後就成功了。
  7. 如果要檢查是否有成功,可點Pietty最左角上的小圖示,選Event Log,如果裡面會有一行:Local port 12000 forwarding to (C)’s IP:22 的訊息,那就代表成功。
  8. 成功以後,這個Pietty完成的連線就擺著不要理它,開另外一個Pietty連線,Host Name填localhost,port那邊改成12000,這樣看起來是連到本機端(A) port 12000,但實際上最後到達的會是 (C) 的 22 。
  9. 註:一旦最早開的Pietty連線中斷或程式中止,port forwarding的動作就會自動解除,之後再連localhost:12000就沒用了。

2 則留言:

rain 提到...

參考您的文章測試後,有成功建立連線

目標的SSH Server是192.168.2.1(因為已經搭建VPN可以直接走Private IP)

遠端的Web Server是(192.168.8.1),引進來localhost會出現異常現象

當我輸入http://127.0.0.1:8080會被導向

http://192.168.8.1/html/index.html?url=127.0.0.1:8080

遇到需要驗證的Web Server是不是就無解了

謝謝

rain 提到...

看來跟SSH Tune無關,我連在SSH終端裡面下curl都無法正確載入192.168.8.1