侧边栏壁纸
博主头像
Lee's World 博主等级

长安乐,多喜宁

  • 累计撰写 23 篇文章
  • 累计创建 2 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

SSH 学习笔记:基于 VSCode 的嵌入式开发环境搭建

Administrator
2025-12-24 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

日期: 2025-11-26

环境: Windows 10/11 (Local) + Ubuntu (Remote)

目的: 实现“Windows 编写/烧录 + Linux 编译”的混合开发流。

1. 环境准备

Linux 端 (被控端)

Linux 默认不开启 SSH 服务,需手动安装并启动。

Bash

# 更新源
sudo apt update

# 安装 OpenSSH 服务
sudo apt install openssh-server -y

# 启动服务并设置开机自启
sudo systemctl enable --now ssh

# 检查服务状态 (应为 active)
sudo systemctl status ssh

Windows 端 (控制端)

  1. 安装 VSCode 插件:在扩展商店搜索并安装 Remote - SSH

  2. 检查 SSH 客户端:确保使用 Windows 原生 OpenSSH,而非 Anaconda 或 Git 自带的旧版本。

    • VSCode 设置 (Ctrl+,) -> 搜索 remote.SSH.path

    • 设置为:C:\Windows\System32\OpenSSH\ssh.exe


2. 连接配置

建立连接

  1. 点击 VSCode 左下角绿色图标 ><

  2. 选择 Connect to Host...

  3. 输入目标格式:user@ip (例如 eric@192.168.8.54)。

  4. 首次连接需确认指纹 (Fingerprint) -> Continue

  5. 输入 Linux 用户密码。

优化:解决服务端下载慢的问题

国内网络环境下,VSCode 自动在 Linux 端下载 Server 可能会超时。

  • 现象:一直显示 Downloading VS Code Server...,进度条不动。

  • 解决方案:强制使用 Windows 端下载。

    • VSCode 设置 -> 搜索 Local Server Download

    • 修改为 always


3. 开发环境配置

插件安装机制

VSCode 的插件分为两类,连接 SSH 后需注意区分:

  • Local (本地):UI 主题、图标等。

  • SSH (远程)C/C++PythonCMakePlatformIO 等。

    • 注意:必须在 SSH 连接状态下,在扩展栏点击 Install in SSH: ...,否则代码跳转和智能提示无法工作。

文件操作

  • 打开项目:资源管理器 -> 打开文件夹 -> 输入 Linux 路径 (如 /home/eric/project)。

  • 文件传输:直接拖拽文件至 VSCode 资源管理器即可上传;右键文件可下载。


4. 嵌入式混合开发工作流

针对 MCU (ESP32) 或 Linux (Rockchip) 开发的最佳实践。

方案 A:纯 SSH 流 (轻量级)

  • 编译:在 VSCode 终端 (Terminal) 执行编译命令 (如 idf.py build)。

  • 烧录:右键 build 目录下的 .bin 文件 -> 下载到 Windows -> 使用本地工具烧录。

  • 缺点:频繁手动下载繁琐。

方案 B:Samba 映射流 (推荐)

通过 SMB 协议将 Linux 目录挂载为 Windows 磁盘。

  1. Linux 安装 Samba

    Bash

    sudo apt install samba
    sudo smbpasswd -a <username>
    
  2. 配置共享 (/etc/samba/smb.conf):

    Ini, TOML

    [Project]
    path = /home/eric/project
    writable = yes
    valid users = eric
    
  3. Windows 映射

    • 资源管理器 -> 映射网络驱动器 -> \\<Linux_IP>\Project -> 设为 Z 盘。
  4. 自动化烧录

    • Linux 编译生成 .bin

    • Windows 烧录工具直接读取 Z:\build\project.bin


5. 常见问题 (Troubleshooting)

错误信息 原因 解决方案
Connection refused Linux 未安装/启动 SSH 服务 见第 1 节,安装 openssh-server
Permission denied 密码错误或公钥未配置 检查密码;检查 .ssh/authorized_keys 权限。
spawn ... ENOENT 找不到 SSH 客户端 检查 remote.SSH.path 路径是否正确。
终端乱码 缺少字体 Windows 安装 Powerline 字体 (如 Meslo),并在 VSCode 设置中指定。

备注

  • 建议为 Linux 配置静态 IP,避免路由器重启后 IP 变更导致连接失败。

  • 后期可配置 SSH Key 免密登录,进一步提高效率。

0

评论区