在板端部署 Dropbear SSH 服务
文档介绍如何在板端部署轻量 SSH 服务端 Dropbear,使 AI 编程工具能通过 SSH 远程操作单板。
适用场景
适用于需要从宿主机通过 SSH 远程登录、传输文件或驱动编码智能体操作单板的场景。
所需条件:
- 宿主机与单板网络互通
步骤
启用 Dropbear 并编译
任选以下一种方式启用 Dropbear:
方式一:直接编辑 app.defconfig
在目标案例的 app.defconfig 中添加:
方式二:通过 menuconfig 交互式配置
在 TUI 界面中进入 Open Source Libraries → dropbear,按空格键选中,保存退出。
启用后运行构建:
部署到单板
编译产物位于 _build/third_party/:
| 二进制 | 路径 |
|---|---|
dropbear |
_build/third_party/sbin/dropbear |
dbclient |
_build/third_party/bin/dbclient |
dropbearkey |
_build/third_party/bin/dropbearkey |
scp |
_build/third_party/bin/scp |
创建主机密钥目录
在板端创建 Dropbear 读写主机密钥所需的目录:
无论采用何种启动方式,必须预先创建
/etc/dropbear,否则 Dropbear 因无法读写主机密钥而启动失败。
生成密钥并启动
方式一:预先生成主机密钥后启动
先用 dropbearkey 生成 RSA 主机密钥,再用 -r 参数指定该密钥启动:
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -s 2048
dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 22
dropbearkey 仅用于生成密钥,执行完毕后可从板端删除。
方式二:首次连接时自动生成主机密钥
-R 参数使 Dropbear 在首次 SSH 连接时自动在 /etc/dropbear/ 下生成主机密钥,无需部署 dropbearkey:
该方式同样要求
/etc/dropbear目录已存在,目录缺失则首次连接时生成失败。
Dropbear 默认以守护进程方式在后台运行,如需前台调试加 -F 参数。
配置开机自启
将启动命令写入板端 /etc/init.d/ 的启动脚本,使单板上电时自动启动 Dropbear,操作见配置应用开机自启。
配置免密登录
宿主机端:
记录 ~/.ssh/id_rsa.pub 的内容。
单板端:
将宿主机 ~/.ssh/id_rsa.pub 的内容写入单板 ~/.ssh/authorized_keys(多个宿主机账号访问时追加写入),并设置权限:
完成配置后,SSH 登录单板不再要求输入密码。
验证
- 单板上电后执行
ps | grep dropbear,确认 Dropbear 进程运行 - 宿主机执行
ssh root@单板ip,成功登入且不要求输入密码 - 执行远程命令
ssh root@单板ip "uname -a",正确返回单板内核信息 - 执行文件传输命令,确认文件可双向传递