VS Code 远程开发需依赖 Remote - SSH 扩展,且要求本地 ssh 命令可直连服务器、SSH 服务开启、密钥配置正确;连接方式有三种入口,推荐使用命令面板中“Remote-SSH: Connect to Host...”读取 ~/.ssh/config;连上后需在远程窗口单独安装扩展,并注意环境变量与权限问题。

VS Code 本身不自带远程开发能力,必须通过 Remote - SSH 扩展实现;没装扩展、没配好 SSH 密钥或没开 SSH 服务,都会导致连接失败。
安装 Remote - SSH 扩展并确认启用
这是整个流程的前提——没有它,VS Code 就只是本地编辑器。在扩展市场搜 Remote - SSH(官方出品,作者 Microsoft),安装后重启 VS Code。注意检查是否已启用:打开命令面板(Ctrl+Shift+P / Cmd+Shift+P),输入 Remote-SSH: Show Log,如果提示“command not found”,说明扩展未生效,可尝试禁用再启用一次。
确保本地能用 ssh 命令直连目标服务器
VS Code 的 Remote - SSH 底层调用的就是系统 ssh 命令。如果终端里执行 ssh user@host 都失败,VS Code 肯定连不上。常见卡点包括:
- 服务器未运行
sshd服务(Linux 上检查systemctl status sshd) -
防火墙拦了 22 端口(
ufw status或firewall-cmd --list-ports) - 本地没配好密钥对,又没开密码登录(推荐用
ssh-keygen+ssh-copy-id配置免密) -
~/.ssh/config里 Host 别名写错,或用了不支持的参数(如ProxyJump在旧版 OpenSSH 中可能不兼容)
用 VS Code 连接时选对配置方式
连接有三种常用入口,行为差异明显:
- 命令面板中运行
Remote-SSH: Connect to Host...→ 从~/.ssh/config读取 Host 列表,最稳定,推荐优先用 - 命令面板中运行
Remote-SSH: Connect to Host... (Quick Pick)→ 手动输user@host:port,适合临时调试,但不保存配置 -
资源管理器底部点击
SSH TARGETS→ 只显示~/.ssh/config里定义的 Host,双击即连,但首次连接会自动在服务器上部署 VS Code Server(需目标机器能访问update.code.visualstudio.com)
如果连上后看不到文件树,大概率是 VS Code Server 部署失败——检查服务器能否访问外网,或手动下载对应版本放到 ~/.vscode-server/bin/ 下(版本号可在日志里找到)。
连接成功后注意工作区与权限问题
远程窗口打开的是服务器上的路径,所有文件操作、终端命令、调试器都运行在远端。容易忽略的点:
- 扩展默认只在本地启用;需要远程运行的扩展(如 Python、C/C++)必须在远程窗口里单独安装(扩展面板右下角点
Install on SSH: hostname) - 终端默认是服务器上的 shell,但
PATH可能和你手动 ssh 进去时不一致(尤其用了zsh或conda),可在~/.bashrc或~/.zshrc末尾加export PATH=...并确保Remote-SSH: Settings中启用了remote.ssh.enableAgentForwarding - 上传大文件别拖进资源管理器——会卡死;改用
scp或rsync命令更可靠
真正麻烦的不是连上,而是连上之后发现 Python 解释器找不到、Git 提交报权限错、或者调试器断点不命中——这些几乎都跟环境变量、shell 初始化逻辑、扩展作用域有关,得一层层查日志,而不是重连。










