关于小米路由器升级系统保留SSH的简单方法(RedmiAX5实验)

      最后更新:2022-02-18 15:44:37 手机定位技术交流文章

      关于小米路由器升级系统保留SSH的简单方法(RedmiAX5实验)

      一、前言

      截至2022.2.17,AX5官方固件共有如下几个版本:

      • AX5_1.0.16.bin
      • AX5_1.0.26.bin
      • AX5_1.0.33.bin
      • AX5_1.0.44.bin
      • AX5_1.0.49.bin
        下载地址: https://cloud.189.cn/web/share?code=uYzEbmI3M3me (访问码:9phb)

      其中,1.0.16、1.0.26、1.0.33 版本可以通过特殊方法获取到 SSH。
      相关教程: AX3600/AX1800/AX5/AC2100官方固件开启SSH方法

      但是,当重新刷写固件(升级、降级都算)后,SSH就会被关闭,如果升到1.0.44、1.0.49,连特殊方法都用不了了。
      虽然网上有些大佬通过修改bdata分区等操作来“固化”SSH,但是过于麻烦。
      本文给出一种十分简单方便的方法,使得路由器升级后自动开启SSH。

      二、原理

      小米路由器官方固件升级后,并非所有的配置文件都被覆盖重置。其中就有这么一个文件/etc/firewall.user,此文件在系统升级后不会被重置。
      而且更加绝妙的是,在这个文件里我们可以写任意shell脚本命令,并且开机后会被/etc/init.d/firewall执行(因为/etc/config/firewall文件 include 了/etc/firewall.user)。所以,我们可以以此为入口,执行一些脚本命令,在开机时自动地把SSH打开。

      三、步骤

      1. /etc/firewall.user文件中,添加一句source /etc/basic_settings/basefile.sh

      虽然我们可以直接写脚本,但毕竟这里是写防火墙规则的地方,为了看起来美观,我们只source一个脚本,把主要命令写在别的地方。

      1. 创建basic_settings文件夹、basefile.sh文件、my_script.sh文件
      1. 编辑/etc/basic_settings/basefile.sh填写以下内容
      1. 编辑/etc/basic_settings/my_script.sh填写以下内容

      注: 单独又分一个 my_script.sh 文件是因为 /etc/init.d/firewall 启动顺序比较靠前(顺序12),像我们上述的用户自定义脚本命令其实是越晚执行越靠谱,所以通过 basefile.sh 来操作一些基础的文件操作或者是需要早执行的操作,在 rc.local 中执行 my_script.sh 。 /etc/rc.local 在开机时会被 /etc/init.d/done 调用。(开机执行顺序95)

      这样系统升级后,开机就会检测SSH状态,如果被关闭,就会自动把 SSH 打开,并且重置 root 密码为 admin。

      注2:版本标记设置为 stable,路由器就会认为是 开发版。release -> 稳定版、current -> 内测版。

      四、其他

      只针对AX5做了测试,其他型号(AX1800、AX6、AX3600等)未测试,我觉得应该也行的,有测试成功的,请在评论区回复一下。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18598.html

          热门文章

          文章分类