昨天我做了一件蠢事。从路由器的 /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)