当前位置: 首页 > news >正文

RV1126b只读bulidroot文件系统支持ssh功能

1、遇到问题

使用rk原厂sdk包 ,实现rv1126b适配的快启,bulidroot文件系统为增强型只读的,开启ssh功能无法生成私钥 ,导致功能异常。报错截图如下所示:

2、解决办法

2.1 menuconfig启动构建时生成密钥

进入 Target packages -> Networking applications -> openssh

选择后保存,可以整体编译或者局部编译openssh

make menuconfig make savedefconfig //保存并重新编译 make openssh-rebuild

2.2 配置必要的运行时目录

  • 构建时修改:在 Buildroot 中,将该文件的修改放在board/<yourcompany>/<yourproject>/rootfs-overlay/etc/ssh/sshd_config路径下。这样它会自动覆盖打包进镜像。
  • 确认overlay路径:进入System configuration --->Root filesystem overlay directories

fs-overlay/ └── etc/ ├── ssh/ │ └── sshd_config # SSH 主配置文件 └── init.d/ ├── S40sshd_setup # SSH 环境设置脚本

以上为整理配置结构,需要先新建对应目录,使用命令如下:

mkdir -p fs-overlay/etc/ssh mkdir -p fs-overlay/etc/init.d

2.2.1 配置sshd_config文件

vim sshd_config

# OpenSSH精简配置 - 兼容嵌入式系统 Port 22 AddressFamily inet ListenAddress 0.0.0.0 # 主机密钥路径 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key # 认证设置 PermitRootLogin yes PasswordAuthentication yes PubkeyAuthentication yes PermitEmptyPasswords no # 禁用不支持的功能 # PrintLastLog no # 注释掉,旧版本不支持 # UsePAM no # 注释掉,Buildroot通常不启用PAM ChallengeResponseAuthentication no UsePrivilegeSeparation yes # 日志 SyslogFacility AUTH LogLevel INFO # 客户端保活 ClientAliveInterval 30 ClientAliveCountMax 3 # 禁用不必要功能 X11Forwarding no PrintMotd no # 子系统 Subsystem sftp /usr/libexec/sftp-server # 性能优化 UseDNS no Compression delayed

2.2.2 创建启动脚本S40sshd_setup

vim S40sshd_setup chmod +x S40sshd_setup

#!/bin/sh # S40sshd_setup - 在SSH服务启动前设置环境 case "$1" in start) echo "Setting up SSH environment (before sshd starts)..." # 1. 创建必需目录(必须在ssh服务启动前完成) # 2. 检查主机密钥是否存在 echo "Checking SSH host keys..." if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then echo "ERROR: SSH host keys not found in /etc/ssh/" echo "Make sure 'install server keys' is enabled in Buildroot" # 不要尝试生成密钥,因为文件系统只读 else echo "SSH host keys found, setting permissions..." # 设置正确的权限 chmod 600 /etc/ssh/ssh_host_*_key 2>/dev/null || true chmod 644 /etc/ssh/ssh_host_*_key.pub 2>/dev/null || true chmod 755 /etc/ssh 2>/dev/null || true fi # 3. 确保运行时目录存在 mkdir -p /var/run/sshd mkdir -p /var/lock/subsys echo "SSH environment setup complete." ;; stop) # 停止时无需特别操作 ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 ~

以上配置好后,需要编译打包进文件系统

./build.sh rootfs ./build.sh firmware

3、调试验证

编译后的系统烧写到板卡上,查看启动log或者使用ps查看进程情况

检查密钥 ls -la /etc/ssh/ hexdump -C /etc/ssh/ssh_host_rsa_key | head -5

使用winscp客户端验证,输入自己设置的用户名和密码

http://www.jsqmd.com/news/1140268/

相关文章:

  • ZCode 编辑器迎来密集迭代:从远程协作到智能插件,开发体验全面升级
  • transformer进阶之路:#2 工作原理详解
  • 碧蓝航线自动化脚本:5分钟告别重复操作,让你的游戏时间更有价值
  • Tomcat Container容器之Engine:StandardEngine _
  • 场外个股期权权利金怎么看?从结构、期限到风险边界全面解析
  • P13735 [JOIGST 2025] 魔法阵 / Magic Circle 题解
  • 机器人强化学习中的可恢复性设计:从仿真到实机的物理域建模
  • 大模型时代的流量调度与架构演进:解构基于语义的路由策略
  • TVA在具身智能的创新应用案例(12)
  • 百度网盘Mac版破解插件终极指南:三步解锁SVIP高速下载
  • Hermes Agent:构建自适应AI代理的长期学习循环与部署指南
  • Windows本地智能体实战:OpenClaw零代理部署与可调试Skills开发
  • 海外公司分布在多个国家后,实体信息和合规状态总对不上,哪些供应商能统一管理?
  • SU-03T/SmartPi GPIO 输入与无线接收器干扰问题排查指南
  • Claude Code的Skill、MCP、Hook、Plugin到底有什么区别?如何判断该用哪个?
  • HsMod终极指南:55项炉石传说功能增强插件完全教程
  • 小说下载器终极指南:5步打造你的私人数字图书馆,永久保存全网小说资源
  • 如何让macOS音乐播放拥有完美歌词:LyricsX智能歌词同步终极指南
  • 【技术实战】成都牙科诊所GEO优化指南:用技术破解获客难题
  • CZSC缠论插件:3分钟实现通达信智能缠论分析的完整指南
  • 音频编辑的三大痛点与Audacity的免费解决方案
  • c++ OCCT (Open CASCADE Technology)
  • 企业拓客难?沃创云大模型AI外呼,8大优势实现降本增效
  • Wwise音频文件终极指南:3分钟学会游戏音效解包与替换
  • 惠普游戏本终极性能控制:用OmenSuperHub彻底告别官方臃肿软件
  • 【办公提效神器】 OpenClaw 2.7.9 部署避坑指南 适配 Win10/11 系统(含安装包)
  • Notepad--:中国人自己的跨平台文本编辑器
  • 药性平和的参苓健脾丸,日常脾胃调理知识科普
  • 如何用开源小说下载器轻松建立个人数字图书馆:200+网站一键批量保存指南
  • 如何5分钟快速上手炉石传说脚本:告别繁琐操作的完整智能自动化指南