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端口服务了。

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