armbian的root密码为什么总是被修改

3 阅读3分钟

Armbian 的 root 密码“总被修改”,本质是 首次启动强制改密机制、文件系统损坏、电源/SD卡不稳定、第三方固件预设、SSH安全限制、自动配置脚本 这6类原因叠加导致的“密码失效/被覆盖”。下面按最常见到少见排序说明:


1. 首次启动强制改密(最常见)

官方 Armbian 镜像:

  • 默认 root/1234
  • 首次登录(串口/HDMI/SSH)时,系统强制要求立刻改密
    • 必须 ≥8 位、含大小写/数字/符号组合
    • 不改密不让进系统
  • 改密后会标记 /root/.not_logged_in_yet 等文件,不会再重复触发

你以为“被改”:其实是你第一次就改掉了默认 1234,后来忘了新密码。


2. 电源不稳 + SD卡故障(第二常见)

嵌入式设备最典型:

  • 电压不足/供电波动 → 文件系统只读/损坏
  • SD 卡劣质/老化 → 写入失败、数据错乱
  • 表现:
    • 你改了密码,重启后变回旧密码 / 直接失效
    • 系统日志、配置文件“自动还原”
    • 报错:Authentication token manipulation error

本质:密码写入没真正保存,或被损坏的文件系统“回滚”。


3. 第三方固件(OPHUB、电视盒子版)自动重置

很多玩家用的 Amlogic S9xxx 定制 Armbian

  • 部分固件 每次重启/更新都重跑初始化脚本
  • 只开 root、未建普通用户 → 系统自动锁/重置 root
  • 现象:
    • 设好密码,过几天/重启几次 → 又变回 1234 或登不上

4. 自动配置脚本 / 自定义镜像预设

Armbian 支持 boot/armbian-firstlogin-config 预置参数:

PRESET_ROOT_PASSWORD=1234
PRESET_USER_NAME=armbian
PRESET_USER_PASSWORD=1234
  • 若 SD 卡保留此文件、每次启动都执行 → 密码被反复覆盖
  • 你在 Windows 下误编辑/还原了 boot 分区 → 重新触发预设

5. SSH 安全策略:不是密码变了,是不让登

新版 Armbian 安全默认:

  • SSH 密码登录 root 被禁用(只允许密钥)
  • 你以为“密码错了”,实际是:
    Permission denied, please try again.
    

解决:先用普通用户 sudo -i 再改密,或开启 PermitRootLogin yes


6. 系统更新/脚本意外改密

极少数情况:

  • 你装了奇怪的一键脚本、安全加固工具
  • armbian-config / 某服务自动改密、锁定账户

快速排查与修复(按顺序做)

  1. 确认是否首次强制改密

    • 能登进系统:passwd root 重设并记好
    • 登不上:进单用户模式重置
  2. 排除硬件问题(必做)

    • 5V/2A 以上优质电源、优质 SD 卡
    • 检查文件系统:
      fsck /dev/mmcblk0p2  # 根分区,需进救援/单用户
      
  3. 干掉自动重置配置

    • 挂载 SD 卡 boot 分区,删除
      armbian-firstlogin-config
      firstrun-config
      
  4. 固定密码 + 建普通用户(推荐)

    passwd root          # 强密码
    adduser myuser
    usermod -aG sudo myuser
    

    以后用 myuser + sudo,减少 root 直接登录

  5. SSH 安全(可选)

    sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
    systemctl restart sshd
    

总结

你遇到的“root 密码总被修改”,90% 是:

  • 首次强制改密你忘了新密码
  • 供电/SD卡坏 → 密码保存失败/回滚
  • 第三方固件反复初始化

按上面步骤排查硬件、清理自动配置、固定强密码+普通用户,基本能彻底解决。

海量精选技术文档和实战案例持续更新,敬请关注【风骏时光少年】公众号