【保姆级教程】小米万兆路由器/小米路由器7000 SSH + 硬固化

Xiaomi万兆路由器 固件版本:1.0.53
Xiaomi路由器7000 固件版本:待发布

默认网关:192.168.31.1

一、软件准备

1. 所需设备:一台电脑;一台Xiaomi万兆路由器/Xiaomi路由器7000。

2. 所需软件:MobaXterm或其他终端软件。

3. 初始密码计算

二、获取ssh权限

1. 准备一个U盘,要求分区为EXT4格式且可用空间大于32GB。

2. 存储功能→Docker→安装Docker。

3. 运行Docker,安装第三方管理。点击管理Docker,默认用户名密码admin,登录。

4. 点击存储管理,如果下面的列表为空,则创建一个卷。点击卷右侧的详情,挂载点应该为/mnt/usb-******/mi_docker/lib/docker/volumes/***。记住这个usb-******,例如usb-aabbccdd。

5. 点击镜像管理,点击拉取,拉取nginx:alpine-slim镜像。

6. 点击新拉取的镜像的右侧绿色运行按钮,选择简单模式,容器名称随意。目录挂载写/mnt/usb-******/mi_docker/../../..:/real_root,点击运行。

7. 点击容器管理,选择刚才创建的容器,进入终端。

8. 输入以下指令:

chroot /real_root
sed -i '/flg_ssh=`nvram get ssh_en`/{:loop; N; /\n.*channel=`\/sbin\/uci get \/usr\/share\/xiaoqiang\/xiaoqiang_version.version.CHANNEL`\n.*return 0\n.*fi/!b loop; d}' /etc/init.d/dropbear
/etc/init.d/dropbear start

通过MobaXterm连接路由器的ssh,进行后面的步骤。

三、解决重启后ssh失效的问题(软固化)

通过MobaXterm连接路由器的ssh后,执行以下指令:

nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
echo -e 'admin\nadmin' | passwd root

与Redmi Ax6000相似,路由器重启后,dropbear文件会恢复成未修改以前的样子,因此要添加一个自启脚本,路由器每次启动,都会自动执行脚本,修改dropbear文件,开启ssh。

此步骤有两种方法,一种是在线获取脚本,一种离线手动创建脚本。

在线方法:

mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall

离线方法:

按一下a键,然后将auto_ssh.sh中文件的内容复制粘贴过来, 输入完成后,按一下ESC,再输入:wq,回车即可。

文件下载:

确认没有问题后,执行下面的指令:

chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall

四、固化ssh

通过MobaXterm连接路由器的ssh后,执行以下指令(执行后会自动重启):

zz=$(dd if=/dev/zero bs=1 count=2 2>/dev/null) ; printf '\xA5\x5A%c%c' $zz $zz | mtd write - crash
reboot

等待路由器重启后,重新连接ssh,并执行以下指令(执行后会自动重启):

nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
bdata set ssh_en=1
bdata set telnet_en=1
bdata set uart_en=1
bdata set boot_wait=on
bdata commit
reboot

等待路由器重启后,重新连接ssh,并执行以下指令(执行后会自动重启):

mtd erase crash
reboot

等待路由器重启后,重新连接ssh,固化完成。

五、提升Docker权限

通过MobaXterm连接路由器的ssh后,执行以下指令(执行后会自动重启):

sed -i "s/authorization_plugins .*/authorization_plugins ''/g" /etc/config/mi_docker
reboot

六、注意事项

每次升级固件或重置固件后,都需要先telnet,再在telnet中开启ssh。

具体方法为:

使用MobaXterm通过telnet连接路由器,用户名为root,密码为初始密码,输入后即可登入路由器telnet后台。

通过telnet开启ssh,并修改root密码为admin:

sed -i '/flg_ssh=`nvram get ssh_en`/{:loop; N; /\n.*channel=`\/sbin\/uci get \/usr\/share\/xiaoqiang\/xiaoqiang_version.version.CHANNEL`\n.*return 0\n.*fi/!b loop; d}' /etc/init.d/dropbear
/etc/init.d/dropbear restart
echo -e 'admin\nadmin' | passwd root

使用MobaXterm通过ssh连接路由器,用户名为root,密码为admin,输入后即可登入路由器ssh后台,登入后再做一遍第三步软固化即可。


【AD】DMIT美国洛杉矶Pro VPS套餐,$14.9/月起,1G-10Gbps带宽/CN2 GIA线路/有高防GIA可选
【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps