以阿里云的 ecs 为跳板机实现 ssh 访问内网服务器

本贴最后更新于 1590 天前,其中的信息可能已经天翻地覆

#背景介绍
做为一个自由开发者,我拥有一台有公网 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 端口要放开。

配置 ssh

配置带有跳板机的内网主机连接。

因为 frp 的内网穿透,host 填写 localhost,port 填写 frpc 的配置。

配置带有跳板机的内网主机连接

在 Advanced 标签下,选择之前配好的跳板机。

选择之前配好的跳板机

测试连接,通过。

测试连接

配置 DataGrip

配置跳板机

配置跳板机

配置内网穿透后的端口

同 CTK 一样,host 填写 localhost,port 填写 frpc 的配置。

配置内网穿透后的端口

测试连接,通过。
测试连接

  • SSH
    42 引用 • 51 回帖
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...