利用XSHELL的隧道功能实现连接服务器没对外开放的端口

在服务器没能映射数据库端口到外网的情况下如何实现用外网电脑的本地程序连接服务器上数据库。

利用XSHELL的隧道功能实现连接服务器没对外开放的端口_第1张图片

环境描述

  1. 内网服务器C是数据库服务器,不对外开放任何端口,也就是不能在外网直接访问C的任何端口 2. 内网服务器B是个跳板服务器,外网可以访问B的22端口,B可以访问C的3306端口
  2. 外网电脑A安装了xshell,还安装了Navicat。他有权连接B的22端口,然后在B服务器上连接C的3306端口

目的

如何用外网电脑A的Navicat 连接上服务器C的3306端口,实现外网笔记本通过图形界面的方式连接数据库服务器进行高效管理。

实现方法

利用xshell的隧道功能

  1. 首先正常用外网电脑A的xshell连接到服务器B的22端口
  2. 打开xshell的隧道窗口,如下图
    利用XSHELL的隧道功能实现连接服务器没对外开放的端口_第2张图片
  3. 添加规则如下图
    利用XSHELL的隧道功能实现连接服务器没对外开放的端口_第3张图片
  4. 正确添加完成后,在外网电脑A上会出现一个3306的监听端口,如下图
    利用XSHELL的隧道功能实现连接服务器没对外开放的端口_第4张图片
  5. 通过电脑A的Navicat连接本地的3306端口,就等于是连接到服务器C的3306端口了

另外

如果没有服务器B的存在,环境是外网电脑A可以连接服务器C的22端口,但是不能连接C的3306端口,也可以通过类似的方法实现。

你可能感兴趣的:(学习笔记,linux,ssh)