如何在 openwrt 等嵌入式 Linux 上重置 root 密码

如何在 openwrt 等嵌入式 Linux 上重置 root 密码

昨天我做了一件蠢事。从路由器的 /etc/shadow 中删除了加密的 root 密码。

root::17459:0:99999:7:::

路由器固件是类似 openwrt 的嵌入式 Linux,具有 ssh 访问权限。现在我无法使用空密码或旧密码登录。有没有办法恢复密码,或者更新固件会重置密码?

答案1

有一个故障安全模式可用于重置 OpenWrt 上的 root 密码。它使路由器处于登录到 root 状态。当我在 TP-Link TL-WR841ND 上没有 root 密码时,这对我使用 OpenWrt Attitude Adjustment 12.09 很有效。也许它对您或其他寻找此信息的人有用:

  • 电源循环路由器
  • 等待 DMZ 灯(左侧第二个 - 电源旁边只有一个亮着的灯)开始闪烁 - 正常启动过程
  • 按住路由器重置按钮 2 秒钟(灯停止,然后恢复快速闪烁)
  • 插入路由器 WAN 端口(LAN 端口不可用故障保护)
  • 将计算机的 IP 地址设置为 192.168.1.2、网络掩码 255.255.255.0、GW 192.168.1.1(我在 Mac 上,所以这样做:sudo ifconfig en10 inet 192.168.1.2 netmask 255.255.255.0。我的以太网在接口上en10。顶部的链接包含一些 Windows 用户的信息,但我现在无法测试。)
  • telnet到 192.168.1.1。它应该连接,并给你一个横幅,饮料配方和 root 提示。
  • mount_root以读/写模式挂载路由器的文件系统
  • passwd更改 root 密码

现在,您可以再次重新启动路由器并尝试一下。不要忘记将计算机的以太网接口改回使用 DHCP(我这样做了sudo ipconfig set en10 DHCP),然后插入 LAN 端口。然后,您就可以在其正常地址访问路由器(我的是http://192.168.55.1/)并使用您设置的密码登录。

答案2

如果有恢复出厂设置或重置可用,它将带您回到默认配置(在大多数路由器中为 admin:admin)

相关内容