透過SSH 做阜號的轉發 – SSH Port Forwarding
透過 SSH 可以遠端連線登入指定主機, 如果你還不知道這是什麼快點擊 HowHow的 ssh 遠端登入教學~
透過 SSH 指定阜號做轉發這是一種很特別的技術,就算是防火牆阻絕, 只要能透過 SSH 遠端登入 Server ,造樣可以把 Server 所提供的網路服務拉到本地端使用 !!讓我們繼續看下去八~
Port 轉發示意圖:
- 透過上圖可以看到伺服器提供 8107 的 Web 服務,不過因為防火牆關係(只有開放 22 port), 無法直接訪問 server:8107 , 我們可以藉由 ssh 將伺服器的啟動在 8107 port 協定服務包在 22 port 協定中,並拉回本機(127.0.0.1) 的 8107 port 上,此時就可以藉由瀏覽器訪問 127.0.0.1:8107 來使用伺服器上的 Web 服務。
使用範例:
1. Linux (Unix 家族) 可以直接透過終端機內建的 ssh 服務下指令轉發
2. Windows 可以藉由 Putty 工具建立 ssh tunnels 轉發
* 將伺服器上所提供的 Grafana 服務 (Port 3000) 轉發至本機上
1. Linux (Unix 家族) 轉發執行指令:
- 本機目前無此服務
- 終端機上執行 ssh 指令
ssh -L 3000:127.0.0.1:3000 ubuntu@192.168.50.208
- 至瀏覽器查看該服務
2. Windows 透過 Putty 工具轉發:
- 本機目前無此服務
- 填入伺服器IP並選擇 ssh 及 22 port
- 選擇 Tunnels 並將 port 加入至轉發列表後點擊 open
- 至瀏覽器查看該服務
注意事項:
- 關閉終端機等於停止 ssh 服務,轉發將會失效
- 如果需要請將 ssh 轉發執行於背景中