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

如何在VS Code中无需打开SSH窗口实现SSH端口转发

解决方案

1. 基于Remote-SSH的本地窗口端口转发(无需切换远程工作区)

Remote-SSH支持在本地项目窗口直接建立端口转发,无需切换到远程工作区:

  • 打开本地Django项目窗口,唤出命令面板(Ctrl+Shift+P / Cmd+Shift+P)
  • 输入 Remote-SSH: Forward Port from Remote 并执行
  • 依次输入远程MySQL端口 3306、本地映射端口 3308,选择已配置的远程SSH连接
  • 确认后隧道即可建立,本地Django可通过 localhost:3308 访问远程数据库

实现自动创建隧道(打开仓库时触发)

在项目根目录的 .vscode/settings.json 中添加配置:

{
  "remote.SSH.defaultForwardedPorts": [
    {
      "name": "Remote MySQL -> Local 3308",
      "remotePort": 3306,
      "localPort": 3308,
      "host": "你的远程SSH主机名/IP"
    }
  ]
}

下次打开项目窗口时,VS Code会提示确认建立转发,确认后自动完成隧道创建。

2. SSH命令行隧道 + VS Code自动任务

如果Remote-SSH的方式不适用,可通过SSH命令后台建立隧道,并绑定到项目打开事件:

  • 先配置本地SSH免密登录远程机器(避免重复输入密码)
  • 在项目的 .vscode/tasks.json 中添加自动任务:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "启动MySQL端口隧道",
      "type": "shell",
      "command": "ssh -f -N -L 3308:localhost:3306 你的远程用户名@远程机器IP",
      "problemMatcher": [],
      "runOptions": {
        "runOn": "folderOpen"
      }
    }
  ]
}

保存后,每次打开项目窗口,隧道会自动在后台启动。停止隧道可执行:

  • Mac/Linux:lsof -ti:3308 | xargs kill
  • Windows:netstat -ano | findstr :3308 找到PID后用 taskkill /PID <PID> /F 结束进程

3. 轻量扩展替代:Port Tunnel

若不想依赖Remote-SSH,可使用「Port Tunnel」扩展:

  • 在VS Code扩展市场安装该扩展
  • 打开扩展面板,新建SSH隧道:填写远程主机、用户名、远程端口3306、本地端口3308
  • 在扩展设置中开启「Auto Connect on Startup」并绑定到当前工作区,实现打开项目自动建隧道

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:01:19