核心是确保ssh稳定、安全、免密连接树莓派:树莓派端必须开启ssh(默认禁用),可通过sudo systemctl enable/start ssh或/boot分区新建ssh文件实现;本地需正确配置~/.ssh/config并验证ssh raspberrypi直连成功;vs code通过remote-ssh插件加载该配置,首次连接自动部署vscode-server,需保障树莓派磁盘空间充足、python版本兼容,并可选配ssh密钥与x11转发提升效率。

VS Code 远程开发树莓派,核心不是“配 VS Code”,而是让 ssh 能稳定、安全、免密地连上树莓派,并让 VS Code 通过 Remote - SSH 插件正确加载远程环境。其他所有操作都围绕这个前提展开。
树莓派端必须开启 SSH 并确认可访问
树莓派默认关闭 SSH,不手动启用就不可能连上。别跳过这步,也别只信“系统新版本默认开了”——实测 Raspbian 11 / Raspberry Pi OS 2024+ 仍默认禁用。
- 有显示器:用终端执行
sudo systemctl enable ssh && sudo systemctl start ssh,再用sudo systemctl status ssh确认状态是active (running) - 无显示器(最常用):把 SD 卡插到电脑,在
/boot分区根目录新建一个空文件,名字严格为ssh(无后缀、无空格、大小写敏感),拔卡重启树莓派后自动启用 - 查 IP 地址:路由器后台找设备列表,或在 Mac/Windows 上用
arp -a | findstr b8:27:eb(树莓派 MAC 前缀),Windows 也可用ping raspberrypi.local(需 mDNS 支持)
本地 VS Code 必须装对插件且配置有效 SSH 主机
Remote - SSH 插件本身不负责连接,它只是读取你本地的 SSH 配置。如果 ssh pi@192.168.1.100 在终端里都连不上,VS Code 一定失败。
- 安装插件时认准发布者是
Microsoft,插件 ID 是ms-vscode-remote.remote-ssh;别装错名相似的第三方“SSH Config”之类 - 不要依赖 VS Code 的“Add New SSH Host…”向导自动生成配置——它常把端口、用户、IdentityFile 写错位置;建议手动编辑
~/.ssh/config - 一个可靠的基础配置示例:
Host raspberrypi
HostName 192.168.1.100
User pi
IdentityFile ~/.ssh/id_rsa_pi
Port 22
保存后,在终端运行 ssh raspberrypi 能直连成功,VS Code 才可能连上。
首次连接时 VS Code 自动部署的 remote server 可能失败
VS Code 连接时会在树莓派上自动下载并启动一个 vscode-server 后台进程。这个过程依赖网络、权限和磁盘空间,常见失败点很具体:
- 树莓派磁盘空间不足:运行
df -h检查/分区,低于 500MB 就容易失败;sudo raspi-config→ “Advanced Options” → “Expand Filesystem” 必做 - Python 版本冲突:某些旧版 Raspberry Pi OS 自带 Python 3.7,而新版
vscode-server需要 3.8+;可临时软链:sudo ln -sf /usr/bin/python3.9 /usr/bin/python3(先确认存在) - 连接卡在 “Installing VS Code Server”:中断后删掉树莓派上的
~/.vscode-server目录重试;避免用 root 用户连接(ssh root@...),VS Code 不支持
免密登录和图形界面转发是效率分水岭
每次输密码不是大问题,但影响自动化、调试脚本和 X11 图形转发。X11 不是“锦上添花”,而是调试 Matplotlib、OpenCV GUI、Tkinter 等程序的刚需。
- 生成密钥对:在本地终端运行
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_rsa_pi - 上传公钥:用
ssh-copy-id -i ~/.ssh/id_rsa_pi.pub pi@192.168.1.100(若失败,手动追加公钥内容到树莓派~/.ssh/authorized_keys) - 启用 X11 转发:在
~/.ssh/config对应 Host 下加一行ForwardX11 yes,并在树莓派上确保已安装xauth(sudo apt install xauth) - Windows 用户需额外装 X server(如
Xming或VcXsrv),Mac 用户直接开XQuartz即可
真正卡住人的,往往不是“怎么连”,而是连上之后 vscode-server 启不动、X11 窗口弹不出来、或者 GPIO 控制权限被拒绝——这些都发生在远程环境内部,必须进树莓派终端排查,不能只盯着 VS Code 界面看。











