vscode远程开发通过ssh连接远程服务器,需确保SSH服务运行、端口开放、密钥认证配置正确;安装Remote-SSH扩展后,可远程编辑、调试代码,注意权限路径及本地/远程扩展区分。

VSCode 的远程开发功能让你能在本地编辑器里直接操作远程服务器上的代码,SSH 连接是最常用也最稳定的方式。关键不是“能不能连”,而是连得稳、用得顺、权限和路径别出错。
前置条件:确保 SSH 服务已就绪
远程服务器必须运行 OpenSSH 服务(linux/macOS 默认自带,windows 需启用 OpenSSH Server 或装 WSL)。本地能通过终端正常执行 ssh user@host 并成功登录,是 VSCode 远程连接的前提。
- 检查远程端口(默认 22)是否开放:ss -tuln | grep :22 或 sudo netstat -tuln | grep :22
- 若用非标准端口,记得在 SSH 配置中明确指定(如 Port 2222),VSCode 会自动读取 ~/.ssh/config
- 推荐使用密钥认证而非密码——VSCode 远程首次连接时会提示保存私钥路径,输一次密码后基本免交互
安装并启动 Remote-SSH 扩展
在 VSCode 左侧扩展栏搜索 “Remote – SSH”,安装由 microsoft 官方发布的那个(图标是蓝色锁+终端)。装好后重启 VSCode(或重载窗口),底部状态栏会出现绿色的远程连接指示器。
- 点击状态栏右下角的 “Open Folder…” 或直接按 Ctrl+Shift+P(Win/Linux) / Cmd+Shift+P(mac),输入 “Remote-SSH: Connect to Host…”
- 首次使用可选 “Add New SSH Host…”,按提示输入 user@host 或带端口的格式(如 user@host:2222),VSCode 会自动写入 ~/.ssh/config
- 连接成功后,VSCode 会在远程服务器上部署一个轻量服务端(~/.vscode-server),后续连接会复用
连接后的工作区与权限注意点
远程连接后打开的文件夹,实际路径是服务器上的绝对路径。编辑、运行、调试都发生在远程环境,本地只负责显示和输入。
- 不要在远程打开 /root 或其他你无写权限的目录——VSCode 启动时若无法创建临时文件,会报 “Failed to fetch remote environment”
- 建议用普通用户登录,必要时用 sudo code –user-data-dir=”/tmp/vscode-root” 启动(仅限调试场景),日常开发避免 root 模式
- 扩展需分“本地”和“远程”:python、ESLint 等语言类扩展默认会自动安装到远程;gitLens、Prettier 等 ui 增强类则通常只需本地安装
常见卡点与快速排查
连不上?连上了但打不开文件?终端不认命令?多数问题出在路径、权限或配置继承上。
- 终端启动后 pwd 显示的是家目录,但 VSCode 默认打开的是上次会话路径——建议首次连接后手动用 File → Open Folder 选准项目根目录
- 如果 Git 不识别用户信息,检查远程 ~/.gitconfig 是否存在,或在远程终端运行 git config –global user.name “xxx”
- 连接超时或反复要求输密码:确认 ~/.ssh/config 中 IdentitiesOnly yes 和 IdentityFile 路径正确;macos 用户注意钥匙串是否锁住私钥
基本上就这些。不需要改服务器配置、不用装额外代理,只要 SSH 通,VSCode 远程开发就能跑起来。不复杂,但几个细节没对上,就会卡在“连上了却干不了活”的状态。