小米路由器非官方SSH

来自IPTV爱好者
跳转至: 导航搜索

小米路由器官方开SSH可能会导致无法保修,因此很多用户不敢开SSH。即使用官方提供的工具开SSH,如果刷了稳定版固件,SSH还是会被关闭。

  • 在小米路由器论坛看到有人反映非官方开SSH后用passwd修改密码后导致密码丢失,这个问题的真实原因还不清楚,猜测可能被修改成默认密码。这个默认密码实际上是官方开SSH页面显示的密码,可以在这里查询:http://www.iptvfans.cn/miwifi/passwd。这是非官方的查询页面,不会导致保修失效。

目前小米路由器没有限制安装固件的版本,因此可以回刷带漏洞的低版本固件,利用漏洞开SSH。具体方法如下:

1、下载0.4.58稳定版:[1]

2、下载RSA公钥文件:[2],这个文件在刷自制固件时用到,后面会介绍。

3、下载0.5.80稳定版自制固件:[3]

4、拔掉路由器WAN口网线,防止刷完低版本固件后自动升级。

5、手工刷0.4.58稳定版固件,安装完毕重启后登录路由器Web管理界面,此时浏览器地址栏的内容类似下面的内容,但stok=后面的32字节内容有差别。

http://192.168.31.1/cgi-bin/luci/;stok=d9732abe0561a09ce91bbefd26b98628/web/home

6、将地址栏内容中的 /web/home 替换成 /api/xqsystem/upgrade_rom?url=%3Bnvram+set+ssh_en%3D1%3Bnvram+commit%3Breboot

http://192.168.31.1/cgi-bin/luci/;stok=d9732abe0561a09ce91bbefd26b98628/api/xqsystem/upgrade_rom?url=%3Bnvram+set+ssh_en%3D1%3Bnvram+commit%3Breboot

7、按上面步骤修改完地址后(注意:不要修改stok=后的32字节字符串),按回车访问新的连接。屏幕将显示如下内容,路由器也将自动重启。

{"code":0}

8、待路由器启动完毕后用putty或SecureCRT等SSH客户端连接192.168.31.1,用户名:root,密码:admin,不出意外的话会看到这样的内容:

login as: root
root@192.168.31.1's password:


BusyBox v1.19.4 (2014-04-26 02:37:48 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

 -----------------------------------------------------
        Welcome to XiaoQiang!
 -----------------------------------------------------
root@XiaoQiang:~#

9、修改RSA公钥,将第2步下载的public.zip文件复制到\\192.168.31.1\XiaoMi,然后在SSH客户端里执行下面的命令:

cd /userdisk/data
unzip public.zip
mount -o rw,remount /
cp -f public.pem /usr/share/xiaoqiang/public.pem.new
cd /usr/share/xiaoqiang
mv public.pem public.pem.orig
ln -s public.pem.new public.pem
mount -o ro,remount /

10、登录路由器Web管理界面,手工升级第3步下载的0.5.79稳定版自制固件

11、待路由器重启完毕后插上WAN口网线,登录Web管理界面,查看固件版本信息,然后用SSH客户端登录路由器。

12、由于升级过程中RSA公钥会被保留,因此路由器以后不能刷官方固件,也就不会被自动升级到新的稳定版固件。如果你想恢复官方的RSA公钥,在SSH客户端里执行下面的命令:

mount -o rw,remount /
cd /usr/share/xiaoqiang
rm public.pem
ln -s public.pem.orig public.pem
mount -o ro,remount /


返回:小米路由