#背景介绍
做为一个自由开发者,我拥有一台有公网 ip 的阿里云 ecs,家中用台式机跑了几个 vm,提供各种需求的开发和测试环境。平时开发在家里进行即可,最近谈了几个项目经常需要外出,为了节省时间,往往会在各个不同的地点 coding 或者调试部署,这时候就需要一台具有公网 ip 的服务器,做为跳板机提供 ssh 跳转访问。
我的具体需求是:
- 用阿里的 CloudToolKit 工具可以从外网环境部署到内网 vm
- 用 datagrip 可以访问内网 mysql
#网络环境
盘点一下目前具有的资源
- 一台具有公网 ip 的阿里云 ecs
- 家里的台式机挂了几个 vm,通过路由分配了内网 ip
- 使用 frp 配置了内网穿透,ecs 跑 frps,内网 vm 跑 frpc
frp 支持 TCP、UDP、HTTP、HTTPS 等协议类型,提供了非常优秀的内网穿透功能。在这个基础上,将 ecs 做为跳板机进行 ssh 访问是完全可以实现的。
#着手实现
配置 vm 的 frpc 端口映射
[ssh] type=tcp local_port = 22 remote_port = ***** [mysql] type = tcp local_port = 3306 remote_port = *****
配置 CloudToolKit
增加一个远程主机,在 CTK 窗口点击"Add Host"按钮。
配置具有公网 ip 的 ecs 的 ssh 连接,22 端口要放开。
配置带有跳板机的内网主机连接。
因为 frp 的内网穿透,host 填写 localhost,port 填写 frpc 的配置。
在 Advanced 标签下,选择之前配好的跳板机。
测试连接,通过。
配置 DataGrip
配置跳板机
配置内网穿透后的端口
同 CTK 一样,host 填写 localhost,port 填写 frpc 的配置。
测试连接,通过。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于