ssh端口轉發(打洞)

local port forwarding

舉例來說,
工作中常見場景,一臺 mysql 數據庫 1.2.3.4:3306 在本地網絡環境中不通,不過在遠程開發機 1.2.3.5 上可以連通,通常需要 ssh 到 1.2.3.5上,然後 mysql client 命令行鏈接。

使用 ssh local port forwarding 可以做到直接在本地連接1.2.3.4:3306

ssh -fN -L 8000:1.2.3.4:3306 [email protected]

1.2.3.5 轉發了本地端口8000的請求給1.2.3.4:3306,完成數據通信。

remote port forwarding

舉例來說,
在本地開發環境下寫了一個demo web server,端口3000。如何讓朋友在公網上訪問本地server呢?不可能把本地掛上公網IP吧?

如果買一臺有公網IP的雲主機就好了。通過雲主機 remote port forwarding 實現其他人通過在公網訪問本地端口。
假設雲主機IP 1.2.3.4

ssh -fN -R 8000:localhost:3000 [email protected]

這樣,朋友可以通過 1.2.3.4:8000 來訪問本地的3000端口服務了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章