You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让MobaXterm在打开会话时自动启动隧道并结束时关闭?

嘿,这个问题我之前也纠结过!MobaXterm确实不像PuTTY那样默认把隧道启停和会话绑定,但其实用它自带的功能就能搞定,分两种情况给你说:

方法一:用内置会话配置自动管理隧道(最省心)

如果你的转发规则是固定的,直接在会话设置里永久配置就行,MobaXterm会自动在会话启动时建隧道,断开时关隧道:

  • 右键你要设置的会话,选择 Edit session
  • 切换到左侧的 Advanced SSH settings 选项卡
  • 在 Port forwarding settings 区域,点击 Add 按钮:
    • 类型选 Local port forwarding
    • 填入你的本地端口(比如8080)
    • 填入目标地址(就是服务器上的管理应用地址,比如127.0.0.1:8080)
  • 保存设置,下次打开这个会话时,隧道会自动建立;关闭会话时,MobaXterm会自动把隧道关掉,完全不用手动操作。
方法二:用会话宏实现自定义启停(更灵活)

如果你的转发规则比较复杂,或者需要额外的启动/停止逻辑,就用MobaXterm的宏功能:

  1. 同样右键会话选 Edit session,切换到 Macros 选项卡
  2. 在 Execute the following commands at startup 框里,添加启动隧道的命令,比如:
    # 启动Tomcat manager的本地转发,后台运行不影响会话使用
    ssh -L 8080:127.0.0.1:8080 $USER@$HOST -N &
    
    这里的$USER和$HOST是MobaXterm的内置变量,会自动替换成你会话里的用户名和服务器地址;加&是把隧道进程放到后台,不占用当前终端。
  3. 然后在 Execute the following commands on exit 框里,添加关闭隧道的命令,比如:
    # 杀掉对应的隧道进程,精准匹配避免误杀
    pkill -f "ssh -L 8080:127.0.0.1:8080"
    
  4. 保存设置后,每次打开会话会自动执行启动命令,关闭会话时自动执行停止命令,完美实现和PuTTY一样的效果。

两种方法我都试过,方法一适合大多数常规场景,不用写代码;方法二适合有特殊需求的情况,比如同时开多个隧道或者需要加一些前置检查。

内容的提问来源于stack exchange,提问作者Grismar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:37:28