對此,我們可以稍微調整原本的作法,改由使用者的電腦執行 SSH Tunnel 的工作。SSH Client 工具通常就具備建立 SSH Tunnel 的能力,因此不管使用者使用的是 Windows 或 Linux 環境,都可以運用此一作法。
在這次的範例中,我們假設使用者的電腦是 Linux 環境,所需步驟如下:
- 在使用者的電腦開啟 SSH Tunnel 服務
指令如下ssh -N -L 3307:192.168.0.20:3306 root@210.59.0.10
我們同樣使用 3307 作為 SSH Tunnel 的連結埠,以便與 MySQL 預設服務埠號 3306 做一個區隔。
- 連結 SSH Tunnel
在使用者的電腦利用 MySQL Client 工具連結 TCP Port 3307。如果是 MySQL CLI 工具,指令為
輸入密碼後我們就可以進入 MySQL。因為指令 mysql 預設為透過 socket 連結資料庫,所以必須加上 –h 127.0.0.1 這組參數。mysql –p –h 127.0.0.1 –P 3307
- 確認 MySQL 權限
因為 MySQL 的權限會根據帳號以及登入 IP 的不同而改變,所以需要特別注意原本的權限設定。以上述的例子而言,登入的 IP 會是 192.168.0.10,也就是 SSH 主機的內部網段 IP。如果有所不確定,可透過 MySQL 指令 show full processlist 來確認連結的帳號與 IP。也就是說,在這個作法下內部網路的資料傳輸是沒有經過加密的。
沒有留言:
張貼留言