在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)

    • 源主机 :填写 localhost127.0.0.1(代表你自己的电脑)。

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

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

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

  • 第三步:连接与测试

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

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

4. 进阶技巧与注意事项

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

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

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

5. 结语

  • 总结 SSH 隧道是安全运维的利器,鼓励读者动手配置一次。
相关推荐
_ZHOURUI_H_3 小时前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
小马同学-3 小时前
高可用-Keepalived全解析
linux·运维
Forever Nore4 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉4 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
长江&后浪5 小时前
防火墙的描述
开发语言·网络·php
小新讲网安5 小时前
安全运营中心(SOC)建设实战:从SIEM到威胁狩猎全流程指南
网络·安全·web安全·网络安全·网安
雯宝5 小时前
3. 驱动框架(块设备)
linux
SKYLAB015 小时前
打破智能家居生态壁垒|微喇智能 WKV553‑A 模组原生支持 Matter,解锁跨平台互联新体验
网络·智能家居
静止了 所有的花开6 小时前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip
笨鸟先飞,勤能补拙6 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全