X

SSH Tunnel

SSH Tunnel用起來超方便的~

若現在想要使用 Windows "MySQL Center control" 來管理遠端 MySQL.

設定如下:

  1. MySQL Center control 設 3309 port
  2. Open putty
  3. Choose Tunnels
  4. Forwarded ports -> 打(3309 desc: localhost:3306) L3309 localhost:3306(本機 3306 port 連到 3309 port)
  5. Auth -> Allow agent forwaring

之後使用 "MySQL Center control" 前, 打開 putty 連結就可控管遠端 DB.

這篇文章介紹的很仔細.

以下轉載自: 第一次用SSH Tunnel就上手

簡單的說,SSH Tunnel可以幫助我們穿越不被信任的網路,從而在我們設定的路徑中得到加密的傳輸。

SSH Tunnel必須建立於一個SSH連線上, 所以說當我們希望使用SSH Tunnel對A主機進行POP3的傳輸,必須先建立一個到A主機的SSH連線,再透過它來建立Tunnel。

我們會使用到的putty和plink都可以在這裡下載,不過我更喜歡pietty,由piaip長輩製作。

實戰一:使用putty從win32平台連線至某主機A, 並使用 SSH Tunnel進行安全的POP3傳輸

  1. 使用putty連線至主機A
  2. 在工具列上的這個putty視窗按右鍵選擇Change Settings
  3. 在Tunnels分頁,Source port是用來當作local端的連線,在這邊用8888
  4. Destination填 hostA.narahuang.com:110, 也就是主機A的POP3 port
  5. 到Session分頁去把這個設定存在某個Session裡
  6. 按Apply完成設定

使用 ssh 連線到主機A,這時候在命令列下使用 netstat -na 就會發現我們剛剛設定的 port 8888 已經開始 listen,在郵件軟體設定向 localhost:8888,並使用主機A上的帳號密碼來收信,可以成功收信的話就是成功了。

實戰二:使用plink從win32平台至某主機A, 並透過主機A連線至主機B的port 80 (httpd)

plink是putty作者提供,在win32下的命令列程式,可以讓我們打一行指令就可以進行SSH Tunnel連線。

  1. 把plink放到windows資料夾裡面(為了方便)
  2. 在命令列字元打:plink -ssh -L 9000:hostB.narahuang.com:80 user@hostA.narahuang.com
  3. 在輸入user在hostA的密碼之後,就進到hostA的Shell,這時候通到hostB的SSH Tunnel就完成了。

使用瀏覽器連線 http://localhost:9000/ ,若是可以連線到主機B就是成功了。

但是要注意的是,這段連線中安全的部分只有從local到hostA,從hostA到hostB這段是沒有加密的

實戰三:從Unix-like的Shell開啟SSH Tunnel至hostB的POP3 port

  • $ ssh -N -f -L 9000:hostB.narahuang.com:21 user@hostB.narahuang.com
  • -N 參數的用途是"不建立shell"
  • -f 參數的用途是"連線後執行於背景"
  • 輸入完密碼後即會回到原來的shell,建立Tunnel之後的操作就跟前面差不多了。

參考資料

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post