在xshell中使用ssh隧道访问远程服务

1. 引言:为什么需要 SSH 隧道?

  • 痛点引出:远程服务器上的 MySQL(3306)、Redis(6379)或一些内部 Web 系统(如数据库管理后台)为了安全,通常不对外网开放。
  • 解决方案:每次都登录服务器看数据太麻烦,用 SSH 隧道可以把远程服务"映射"到你本地,像访问本地服务一样访问它们。

  • Xshell 的优势:图形化界面,配置一次图形化保存,免去每次在命令行敲复杂命令的痛苦。

2. 核心原理简述

简单解释两种最常用的隧道模式,用通俗的语言配合流向说明:

  • 本地端口转发(Local Forwarding) :【最常用】把远程 服务器的端口,映射到本地电脑的端口。

    • 场景:本地电脑想用 Navicat 连接远程不对外开放的 MySQL。
  • 远程端口转发(Remote Forwarding) :把本地 的端口,映射到远程服务器的端口(常用于内网穿透)。

    • 场景:让外网的用户访问你本地电脑上正在开发的 Web 项目。

3. 实战演练:Xshell 配置本地端口转发(以 MySQL 为例)

这是读者最想看的部分,建议采用"步骤 + 截图提示"的方式编写:

  • 第一步:打开会话属性

    • 在 Xshell 中建立好与远程服务器的连接。

    • 右键会话 -> 属性 -> 点击左侧的 "连接" -> "SSH" -> "隧道"。

  • 第二步:添加转移规则

    • 点击"添加"按钮。

    • 类型 :选择 Local (Outgoing)。

    • 源主机 :填写 localhost 或 127.0.0.1(代表你自己的电脑)。

    • 侦听端口 :本地准备用来监听的端口,比如 33060(避免跟本地 3306 冲突)。

    • 目标主机 :远程服务器看该服务时的地址,通常是 localhost 或 127.0.0.1(因为是服务器自己访问自己的服务)。

    • 目标端口 :远程服务真正的端口,比如 3306。

  • 第三步:连接与测试

    • 点击确定保存,连接该 Xshell 会话(注意:隧道必须在 Xshell 保持连接状态下才生效)。

    • 打开本地的数据库工具(如 Navicat),连接主机填 localhost,端口填 33060,即可成功连上远程数据库。

4. 进阶技巧与注意事项

  • 保持连接稳定:勾选 Xshell 会话属性中的"保持活动状态"(Keep Alive),防止因为长时间不操作导致 SSH 断开、隧道失效。

  • 动态端口转发(SOCKS 代理):可以顺带提一句,利用 Dynamic 模式,可以让 Xshell 充当一个正向代理服务器。

  • 安全提示:即使有隧道保护,数据库本身的密码也不要设置得太简单。

5. 结语

  • 总结 SSH 隧道是安全运维的利器,鼓励读者动手配置一次。
相关推荐
律宏阔2 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔2 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴2 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千2 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei372 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei372 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei372 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW2 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
GeW2 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux
yunwei372 小时前
eBPF 开发者教程: 简单的 XDP 负载均衡器
linux·后端·性能优化