vs code remote-ssh 默认端口需在 ~/.ssh/config 中为对应 host 显式配置 port;vs code server 端口冲突需设 vscode_agent_port 环境变量;调试器端口须在 launch.json 与启动命令一致。

VS Code Remote-SSH 连接时怎么改默认端口
Remote-SSH 插件不会自动读取你本地 ~/.ssh/config 里的端口,除非显式配置。直接改 SSH 命令行参数或配置文件才生效。
- 错误做法:只在 VS Code 设置里搜 “port” 并修改某项——没用,Remote-SSH 不认这个
- 正确路径:编辑
~/.ssh/config,为对应 Host 显式写上Port 2222(替换成你要的端口) - 示例配置段:
Host myserver HostName 192.168.1.100 User alice Port 2222 - 改完后,在 VS Code 的命令面板(
Ctrl+Shift+P)运行Remote-SSH: Connect to Host...,选myserver即可走 2222 端口
VS Code Server 启动失败报 “port already in use” 怎么办
这是指远程服务器上 VS Code Server 自动选的监听端口(如 vscode-server 默认尝试 0.0.0.0:40000–40100 范围)被占用了,不是你 SSH 连接端口的问题。
- 现象:连接卡在 “Installing VS Code Server…”、日志里出现
EADDRINUSE或明确提示端口冲突 - 解决方法:在远程服务器上手动指定空闲端口,通过环境变量
VSCODE_AGENT_PORT控制:export VSCODE_AGENT_PORT=40200
- 更稳妥的做法:把这行加到远程用户的
~/.bashrc或~/.zshrc末尾,再重连 - 注意:该端口需对本地 VS Code 可达(即 SSH 端口转发能穿透),如果服务器有防火墙,也要放行
40200
本地 VS Code 调试时怎么改调试器绑定端口(比如 Python、Node.js)
这不是改 VS Code 自身端口,而是改被调试程序(如 python -m debugpy 或 node --inspect)监听的端口,VS Code 的 launch.json 必须同步匹配。
- Python 示例:启动命令是
python -m debugpy --listen 127.0.0.1:5678 --wait-for-client ...,那launch.json里就得写:"port": 5678, "host": "127.0.0.1"
- Node.js 示例:启动带
--inspect=0.0.0.0:9229,则launch.json的port必须设为9229,且address若设为0.0.0.0需确认调试器允许远程连接 - 坑点:Windows 上若用 WSL2,
localhost在 VS Code 和调试进程间可能指向不同网络栈,优先用127.0.0.1明确指定
VSCODE_AGENT_PORT 环境变量,或者本地 ~/.ssh/config 没生效。










