vs code 本机安装不等于支持远程开发;需安装 remote-ssh 扩展,并确保远端 linux 运行 ssh 服务、具备 shell 权限及基础工具链(curl/unzip/git/glibc),且推荐用 apt 而非 snap 安装以避免权限问题。

直接在 Linux 本机安装 VS Code 并不等于能做远程开发——远程开发的关键是「本地编辑 + 远端执行」的分离架构,而 VS Code 本身不自带 SSH 或容器运行时。你真正需要的是:先装好 VS Code,再装 Remote - SSH 扩展,并确保远端 Linux 有可用的 SSH 服务和编译环境。
VS Code 本机安装(Ubuntu/Debian 系统)
别用 Snap 版(sudo snap install code --classic),它默认禁用 Remote - SSH 的文件系统挂载权限,会导致连接后无法读写远程文件夹。推荐用官方 APT 源安装:
- 添加微软 GPG 密钥和仓库:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft.gpg,然后写入/etc/apt/sources.list.d/vscode.list - 执行
sudo apt update && sudo apt install code - 首次启动后,按
Ctrl+Shift+X搜索并安装Remote - SSH(扩展 ID:ms-vscode-remote.remote-ssh)
远端 Linux 必须满足的三个硬性条件
很多“连不上”或“连接后空白”的问题,根源都在远端配置缺失。不是 VS Code 不行,是远端没准备好:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
sshd服务必须运行且允许密码或密钥登录(检查sudo systemctl status sshd,若为inactive则需sudo systemctl enable --now sshd) - 远端用户需有 shell 权限(不能是
/usr/sbin/nologin),且家目录可写(chmod 755 ~) - 远端需预装基础工具链:至少要有
curl、unzip、git和glibc(VS Code Server 启动依赖),否则连接后会卡在 “Installing VS Code Server…” 并失败
SSH 密钥免密登录必须手动验证
VS Code 的 Remote - SSH 插件会尝试自动调用 ssh 命令,但它不会帮你修复密钥权限问题。常见失败现象是弹窗反复要求输密码,或报错 Permission denied (publickey):
- 本地生成密钥时用
ssh-keygen -t ed25519(比 rsa 更安全,兼容性也更好) - 上传公钥后,立刻在本地终端执行:
ssh -i ~/.ssh/id_ed25519 user@remote-ip—— 必须能成功登录,才说明密钥配置有效 - 远端
~/.ssh/authorized_keys文件权限必须是600,目录~/.ssh必须是700,否则 sshd 会静默拒绝
第一次连接后务必检查左下角状态栏
连接成功只是第一步。左下角绿色图标旁显示的不是 IP,而是当前激活的远程环境类型(如 SSH: 10.239.146.97)。这个状态决定你所有操作的上下文:
- 点击它 → “Open Folder” 打开的路径是远端路径(比如
/home/user/project),不是本地 - 按
Ctrl+Shift+B触发构建任务时,tasks.json中的command是在远端 shell 中执行的,不是本地 - 如果误在本地打开文件夹再点连接,VS Code 会把本地文件同步过去,但调试器、终端、任务全部仍跑在本地,彻底失去远程意义
最容易被忽略的一点:VS Code Server 的版本与本地客户端版本不一致时,插件可能无法加载(尤其是 C/C++、Python 扩展)。每次远端连接后,留意输出面板里的 Remote-SSH 日志,如果有 Failed to fetch extension 提示,就说明远端 Server 更新滞后,此时应手动在远端删掉 ~/.vscode-server 目录,让下次连接时重新下载匹配版本。










