在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 隧道是安全运维的利器,鼓励读者动手配置一次。
相关推荐
GeW11 小时前
新质生产力路线图Linux、数据库、国产化替代一次讲透
linux
aningx13 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位14 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
骑着蜗牛撵大象32716 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
..Dauntless..16 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划16 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason16 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特16 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
轻舟技术A16 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
あ-17 小时前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器