ssh+mysql连接方式及其底层实现方式

1 篇文章 0 订阅
1 篇文章 0 订阅

这是一种网络的保护策略,且不需要root用户授权的网络跳转。学会这个,可以应用到其他应用中,不仅仅用于mysql的连接。

先说一下场景:

mysql所在服务器A:172.16.131.7

中转服务器B:172.16.131.13

windows客户端

 

服务器A只对131段的机器开放了22和3306端口,其他段的之开放22端口。

服务器B对外的端口都开放。

windows客户端需要使用服务器A的mysql服务

1.首先第一步我们使用mysql客户端自带的配置,访问服务器A的mysql服务。服务器A的3306端口不对外开放,只有22端口。需要跳过,这样来配置:

在常规页面这样的:

注意:常规页中的主机名,是localhost

为什么这个样子?Windows客户端通过访问服务器A的22端口建立通道,然后在服务器A的22端口跳转到本地3306端口来访问mysql。

2.下面就用命令来实现上面的ssh页面配置。

需要支持ssh命令哦,不支持的话需要自己来安装ssh服务。

点击可以参照文章

上面的意思是:windows与131.7建立ssh通道,本机启动监听3306端口(第一个),用hywlptapp这个用户,通过ssh通道的22端口(默认端口)登录,并与131.7的3306端口建立连接。

简单来说:windows的3306端口和服务器A的3306端口建立通道了,可以访问本机的3306端口就能访问服务器A的3306了。

学会这个命令,就可以通过22端口跳到其他服务器了。

3.只能监听3306吗?答案是否定的。也可以监听别的端口访问。

ssh -L 9999:localhost:3306 hywlptapp@172.16.131.7

解读:本地监听9999端口,与服务器A的3306端口建立了连接。

4.windows和服务器A之间可以通过别的服务器连接吗?OK,没问题。

windows客户端启动3306端口,访问服务器B的22端口,再与服务器A的3306端口建立通道。

服务器B没有做任何配置,都是在windos上面执行命令的。

4.如果中间不止一台服务器在中间,怎么办?

4.1 服务器B启动监听服务,连接服务器A。

4.2 windows启动监听连接服务器B。

第3,4个的最终效果是一样的,但是服务器B又多做了一步操作,这样即使有多台服务器,也都是可以复制的。

服务器B监听9999端口,访问服务器A的3306

windows监听3306,,访问服务器B的9999端口。

这样就形成一条链路:

这样即使有多台服务器在中间也可以进行网络跳转了,ssh又很通用,适用范围广。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值