红米Redmi AX6000永久获取SSH权限,保姆级教程

参考链接:[OpenWrt Wiki][Github lemoeo]

想要咨询问题或者需要帮助的可以加我的QQ:1165960061

Redmi AX6000固件版本:1.0.60
默认网关:192.168.31.1

一、软件准备

1. 所需设备:一台电脑;一台Redmi AX6000,电脑与路由器之间使用网线或者无线wifi连接。

2. 所需软件:Windows Terminal(Win10用户在Microsoft Store下载即可)或其他终端软件,比如,TermiusMobaXterm,等等。本文以Windows Terminal为例;

3. 所需固件:Redmi AX6000 1.0.60Redmi AX6000 1.0.48(备用);

4. 开启本机的telnet功能:控制面板——卸载程序——启用或关闭Windows功能——勾选telnet功能——确定。

5. 路由器初始密码的计算:找到Redmi AX6000的SN码,并在此计算初始密码。得到初始密码,将其永久保存下来,路由器恢复出厂设置后会用到;

6. 本机内网IP地址:有很多方法能查到本机的内网IP地址,这里不再赘述,以下都假设设备地址为:192.168.31.10。

7. 路由器的stok:打开路由器的web端管理界面,输入管理员密码,从上方地址栏即可获得stok。

    例如,管理界面地址为:

http://192.168.31.15/cgi-bin/luci/;stok=030b24d39b1a4a549aa12dac23c52313/web/home#router

    则stok=030b24d39b1a4a549aa12dac23c52313,也即stok为030b24d39b1a4a549aa12dac23c52313。

    注:每次路由器重启,stok值都会改变。

二、固件降级

从web端的管理界面将Redmi AX6000的固件版本降级到1.0.60。
三、开启Redmi AX6000的开发者模式

1. 更改路由器的crash分区,使其进入到开发者模式

    在浏览器地址栏输入:

http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20

    其中,将stok=token中的token替换成路由器的stok。

    例如,我的stok为030b24d39b1a4a549aa12dac23c52313,则我应输入到浏览器地址栏的链接为:

http://192.168.31.1/cgi-bin/luci/;stok=030b24d39b1a4a549aa12dac23c52313/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20

2. 特殊方法重启路由器

    在浏览器地址栏输入:

http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

    其中,将stok=token中的token替换成路由器的stok即可。
四、设置Redmi AX6000的Bdata参数

1. 设置参数telnet_en、 ssh_en、uart_en

    在浏览器地址栏输入:

http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20

    其中,将stok=token中的token替换成路由器新的stok即可。

2. 特殊方法重启路由器

    在浏览器地址栏输入:

http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

    其中,将stok=token中的token替换成路由器新的stok即可。五、通过telnet开启ssh

在Windows Terminal中输入指令:

telnet 192.168.31.1

输入后会直接进入【ARE U OK】的界面,表示telnet成功。

进入telnet后,输入指令开启ssh并修改密码为admin:

bdata set boot_wait=on
bdata commit
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

六、永久开启 ssh

新开一个Windows Terminal窗口,ssh连接进去:

注:此处是新开一个窗口,不要从telnet界面进行ssh连接。

ssh [email protected]

输入密码admin,即可登入ssh。

目前从telnet开启的ssh,路由器重启会失效,因此添加一个开启自动运行的脚本,来实现自动开启 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

关闭Redmi AX6000的开发者模式

新开一个Windows Terminal窗口,ssh连接进去:

ssh [email protected]

输入密码admin,即可登入ssh。

输入指令清除crash分区并重启:

mtd erase crash
reboot

八、修复时区异常

用上述方法开启ssh后,可能会导致路由器时区异常,在ssh中执行以下指令即可:

uci set system.@system[0].timezone='CST-8'
uci set system.@system[0].webtimezone='CST-8'
uci set system.@system[0].timezoneindex='2.84'
uci commit

九、注意事项

每次升级固件或重置固件都需要执行以下指令:

sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
echo -e 'admin\nadmin' | passwd root

新开一个Windows Terminal窗口,ssh连接进去:

注:此处是新开一个窗口,不要从telnet界面进行ssh连接。

ssh [email protected]

输入密码admin,即可登入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

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