VSCode如何配置远程端口转发_VSCode远程端口转发配置步骤

陌萱小哥_8119

陌萱小哥_8119

2026-04-11

1198人浏览

原创

vscode远程端口转发无需手动ssh命令,点击状态栏“forward a port…”输入远端端口(如3000)即可自动映射本地同号端口;仅当前窗口有效,依赖远端服务监听127.0.0.1或0.0.0.0;持久化需在~/.ssh/config中配置localforward。

vscode如何配置远程端口转发_vscode远程端口转发配置步骤

VSCode 远程端口转发不需要手动写 SSH 命令,但必须理解它只转发「本地到远程」的流量,且依赖远程服务监听地址是否匹配。

点一下就能转发:VSCode 内置 Forward a Port 功能

连接远程主机后,按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 Remote-SSH: Forward a Port…,回车,输入远程服务监听的端口号(如 3000)。VSCode 会自动在本地监听同号端口(localhost:3000),并建立隧道。

这个操作本质是后台执行了类似 ssh -L 3000:localhost:3000 user@host 的命令。它只对当前 Remote 窗口有效,关闭窗口即断开;不重启 VSCode、不重连,就不会自动恢复。

  • 右下角状态栏点击 Forwarded Ports 可查看、编辑、删除已转发端口
  • 悬停在端口条目上能看到完整映射(如 localhost:3000 → localhost:3000)
  • 若本地 3000 已被占用,VSCode 会静默分配下一个可用端口(比如 3001),但不会弹窗提醒——得自己去状态栏点开看实际映射
  • 转发成功后图标为绿色;红色表示失败,常见原因是远程端口没服务、或服务没监听 localhost/127.0.0.1

持久化配置:改 ~/.ssh/config 而不是 settings.json

想每次连上就自动转发多个端口(比如数据库 5432、API 8080),必须编辑 ~/.ssh/config,在对应 Host 块里加 LocalForward 行:

Host my-server
  HostName 192.168.1.100
  User dev
  LocalForward 5432 localhost:5432
  LocalForward 8080 localhost:8080

注意:LocalForward 必须写在 ~/.ssh/config 里,不能写进 VSCode 的 settings.json;也不能写成 LocalForward=5432:localhost:5432(等号会直接被忽略,无报错)。

  • 改完保存,需断开当前 Remote 连接,再重新 Connect 才生效
  • VSCode Remote-SSH 扩展会读取该文件,无需额外插件或重启 VSCode 主进程
  • 如果同时配了 remote.SSH.port(VSCode 设置中控制 SSH 连接端口),和 LocalForward 互不影响——前者管“怎么连上服务器”,后者管“连上后转哪些端口”

远程服务连不上?先查监听地址,不是防火墙

转发失败时看到 Connection refused,90% 是因为远程服务根本没在 localhost 或 127.0.0.1 上监听。VSCode 的端口转发只能把请求发给远程的 127.0.0.1:x,它不处理服务绑定逻辑。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

在远程服务器上执行:

ss -tlnp | grep :3000

看输出第二列(Local Address:Port)是否包含 127.0.0.1:3000 或 *:3000。如果是 ::1:3000(IPv6 回环),而你的本地环境没启用 IPv6,也会失败。

  • create-react-app / Next.js / Vite 默认只监听 localhost,启动时加 --host 127.0.0.1 或配 server.host: '127.0.0.1'
  • Flask 默认只监听 127.0.0.1,用 app.run(host='0.0.0.0') 才能被转发识别(注意安全边界)
  • PostgreSQL 默认监听 127.0.0.1,但需确认 pg_hba.conf 允许 local 连接
  • 远程防火墙(如 ufw)通常不影响,因为流量走的是 SSH 隧道,不经过 iptables INPUT 链

转发到非 localhost 目标:比如容器或内网机器

默认 LocalForward 3000 localhost:3000 只能访问远程本机服务。如果服务跑在 Docker 容器里,或另一台内网机器上,就得显式指定远程目标地址:

  • 容器内服务(假设容器 IP 是 172.17.0.2,端口 8080):LocalForward 8080 172.17.0.2:8080
  • 跳板机后方的数据库(跳板机 A 连着 DB 机 B):LocalForward 3307 10.0.1.5:3306(B 的内网 IP)
  • 要让局域网其他设备也能访问(比如手机调试),需远程 SSH 服务端开启 GatewayPorts yes,再用 LocalForward *:8082 localhost:8080

这种写法绕过了 VSCode 图形界面,但更灵活。关键点在于:VSCode 只负责触发和管理隧道,真正的转发行为由 OpenSSH 客户端执行,所以所有 ssh -L 支持的语法都适用。

最易被忽略的一点:VSCode 的端口转发不继承终端里的 HTTP_PROXY 或 NO_PROXY 设置,如果你在远程终端里设置了代理变量,VSCode 的扩展进程(比如 Python 或 Docker 扩展)默认看不到——得单独配置 remote.extensionKind 或改 ~/.bashrc 并重启窗口。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
flask框架如何搭建
flask框架如何搭建

搭建步骤:1、安装Python和Pip;2、创建虚拟环境;3、安装Flask;4、创建Flask应用;5、运行应用;6、访问应用。想了解更多flask框架的相关内容,可以阅读本专题下面的文章。

2024.06.27

3415

8

Python Flask框架
Python Flask框架

本专题专注于 Python 轻量级 Web 框架 Flask 的学习与实战,内容涵盖路由与视图、模板渲染、表单处理、数据库集成、用户认证以及RESTful API 开发。通过博客系统、任务管理工具与微服务接口等项目实战,帮助学员掌握 Flask 在快速构建小型到中型 Web 应用中的核心技能。

2025.08.25

5204

10

Python Flask Web框架与API开发
Python Flask Web框架与API开发

本专题系统介绍 Python Flask Web框架的基础与进阶应用,包括Flask路由、请求与响应、模板渲染、表单处理、安全性加固、数据库集成(SQLAlchemy)、以及使用Flask构建 RESTful API 服务。通过多个实战项目,帮助学习者掌握使用 Flask 开发高效、可扩展的 Web 应用与 API。

2025.12.15

296

16

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2075

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3062

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1036

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3479

7

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4156

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1295

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程