本帖最后由 NormalPeople 于 2024-9-17 22:06 编辑
参考链接:QWRT for Xiaomi AX3000T,小米BE3600开启SSH教程,感谢@edywh提供的Xiaomi路由器6500 Pro 固件。
想要咨询问题或者需要帮助的可以加我的QQ:1165960061
Xiaomi路由器AX3000T 固件版本:1.0.47(高于此版本请先使用小米救砖工具降级固件)
Xiaomi路由器AX3000T V2 固件版本:1.0.84(高于此版本请先使用小米救砖工具降级固件)
Xiaomi路由器6500 Pro 固件版本:1.0.46(高于此版本请先使用小米救砖工具降级固件,提取密码:gwhx)
Xiaomi路由器BE3600 2.5G 固件版本:1.0.65(高于此版本请先使用小米救砖工具降级固件)
Xiaomi路由器BE3600 固件版本:1.0.31(高于此版本请先使用小米救砖工具降级固件)
默认网关:192.168.31.1
一、软件准备 1. 所需设备:一台电脑;一台小米AX3000T路由器/小米6500PRO路由器/小米BE3600路由器。 2. 所需软件:MobaXterm或其他终端软件,cmd。 3. 初始密码计算:https://miwifi.dev/ssh 4. 路由器的stok:打开路由器的web端管理界面,输入管理员密码,从上方地址栏即可获得stok。 例如,管理界面地址为: - http://192.168.31.1/cgi-bin/luci/;stok=030b24d39b1a4a549aa12dac23c52313/web/home#router
复制代码 则stok=030b24d39b1a4a549aa12dac23c52313,也即stok为030b24d39b1a4a549aa12dac23c52313。 注:每次路由器重启,stok值都会改变。
二、获取ssh权限 1. 如果你的设备型号为 小米6500PRO 的 1.0.46 版本及以前的固件 或 小米AX3000T 的1.0.47版本及以前的固件: 打开cmd,在cmd中输入指令: - curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20set%20ssh_en%3D1%0A"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20commit%0A"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/arn_switch -d "open=1&model=1&level=%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%0A"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/arn_switch -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A"
复制代码 其中,将stok=token中的token替换成路由器的stok。
2. 如果你的设备型号为 小米AX3000T 的 1.0.84 版本及以前的固件或小米BE3600(应原作者要求,此处指令已隐藏,需回复可见): 打开cmd,在cmd中输入指令:
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/xqsystem/start_binding -d "uid=1234&key=1234'%0Anvram%20set%20ssh_en%3D1'"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/xqsystem/start_binding -d "uid=1234&key=1234'%0Anvram%20commit'"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/xqsystem/start_binding -d "uid=1234&key=1234'%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear'"
- curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=token/api/xqsystem/start_binding -d "uid=1234&key=1234'%0A%2Fetc%2Finit.d%2Fdropbear%20start'"
复制代码 其中,将stok=token中的token替换成路由器的stok。
通过MobaXterm连接路由器的ssh,进行后面的步骤。
三、解决重启后ssh失效的问题(软固化)
通过MobaXterm连接路由器的ssh后,执行以下指令(执行后会自动把ssh密码改成admin): - 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。
此步骤有两种方法,一种是在线获取脚本,一种离线手动创建脚本。 1. 在线方法: - 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
- ./auto_ssh.sh install
复制代码
2. 离线方法:
- mkdir /data/auto_ssh && cd /data/auto_ssh
- vi auto_ssh.sh
复制代码
按一下a键,然后将auto_ssh.sh中文件的内容复制粘贴过来, 输入完成后,按一下ESC,再输入:wq,回车即可。
文件下载:
确认没有问题后,执行下面的指令: - chmod +x auto_ssh.sh
- ./auto_ssh.sh install
复制代码
四、固化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,并执行以下指令(执行后会自动重启):
等待路由器重启后,重新连接ssh,固化完成。
五、注意事项
每次升级固件或重置固件后,都需要先telnet,再在telnet中开启ssh。 具体方法为: 1. 使用MobaXterm通过telnet连接路由器,用户名为root,密码为初始密码,输入后即可登入路由器telnet后台。 2. 通过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
复制代码
3. 使用MobaXterm通过ssh连接路由器,用户名为root,密码为admin,输入后即可登入路由器ssh后台,登入后再做一遍第三步软固化即可。 4. 自定义密码: - echo -e '你的密码\n你的密码' | passwd root
复制代码
|