找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 10790|回复: 55

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

  [复制链接]
本帖最后由 sunset_glow 于 2022-2-17 21:33 编辑

由于恩山编辑器过于难用,好不容易排好版,点击发表帖子,又提示  461请求被WEB防火墙拦截

所以,正文写在了 CSDN,关于小米路由器升级系统保留SSH的简单方法(RedmiAX5实验)


不得不说,恩山的这个论坛基础功能做的是真差劲!!!

那就重新编辑一遍。

-------------------------------------------------

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

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

其中,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
  1. echo -e "\nsource /etc/basic_settings/basefile.sh" >> /etc/firewall.user
复制代码

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

2. 创建 basic_settings 文件夹、basefile.sh 文件、my_script.sh 文件


  1. mkdir /etc/basic_settings
  2. touch /etc/basic_settings/basefile.sh
  3. touch /etc/basic_settings/my_script.sh
  4. chmod 755 /etc/basic_settings/basefile.sh
  5. chmod 755 /etc/basic_settings/my_script.sh
复制代码

3. 编辑 /etc/basic_settings/basefile.sh 填写以下内容
  1. #!/bin/sh
  2. echo "source /etc/basic_settings/my_script.sh; exit 0" > /etc/rc.local
复制代码

4. 编辑 /etc/basic_settings/my_script.sh 填写以下内容
  1. #!/bin/sh

  2. #check ssh
  3. ver_flag="$(uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL)"
  4. if [ "$(nvram get ssh_en)" != "1" -o "$ver_flag" == "release" ]; then
  5.     echo "$(date) : 本次开机ssh_en被关闭或者版本标记被重置,您可能进行了固件升级。" >> /tmp/my_log.txt
  6.     nvram set ssh_en=1
  7.     nvram commit
  8.     uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable'
  9.     uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version
  10.     echo "$(date) :已重新开启ssh_en,并设置版本标记为stable。" >> /tmp/my_log.txt
  11.     /etc/init.d/dropbear enabled
  12.     if [ $? == "1" ]; then
  13.         echo "$(date) :dropbear开机自启动被关闭,现重新开启。" >> /tmp/my_log.txt
  14.         /etc/init.d/dropbear enable
  15.     fi
  16.     /etc/init.d/dropbear restart
  17.     echo -e "admin\nadmin" | passwd root
  18.     echo "$(date) :已将root密码重置为 admin" >> /tmp/my_log.txt
  19. fi
复制代码

注: 单独又分一个 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等)未测试,我觉得应该也行的,有测试成功的,请在评论区回复一下。



评分

参与人数 4恩山币 +4 收起 理由
1390*** + 1 强大的恩山!(以下重复1万次)
el*** + 1 强大的恩山!(以下重复1万次)
楪*** + 1 来来来,有什么伤心的事说出来让大家开心一.
clo*** + 1 感谢

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
麻烦再编辑一次,之前防火墙被人错误设置,谢谢对论坛的支持。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

只能要找方法呢,方法就来了,看来要试试才行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

改天试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
回去试试,之前bdata分区没成功过不知道什么问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
回去试试,之前bdata分区没成功过不知道什么问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

AX5京豆版可以这样做吗?

点评

AX5京东云版开启SSH比较困难,你先能拿到SSH再说吧  详情 回复 发表于 2022-2-22 17:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

AX5  1.0.26 升级 1.0.49 成功了固化SSH,谢谢楼主分享,方法比之前那个要修改固件简单多了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

AX5豆坑版 解酒丸 不知道有没用 心理安慰……
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
寒枫落叶 发表于 2022-2-22 12:16
AX5京豆版可以这样做吗?

AX5京东云版开启SSH比较困难,你先能拿到SSH再说吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
楼主能做个已经改好的固件吗,让我们偷下懒

点评

wocao,都这么简洁明了了,原理和步骤都写了,难道还看不懂? 你是有多么小白?  详情 回复 发表于 2022-2-23 14:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
妈妈咪啊 发表于 2022-2-23 11:37
楼主能做个已经改好的固件吗,让我们偷下懒

wocao,都这么简洁明了了,原理和步骤都写了,难道还看不懂?
你是有多么小白?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

不过我选择固化,ax5这机器和cr6608和ax1800全都改bdata分区固化了一遍
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢楼主的分享啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

小白路过,思路很清晰,感谢楼主。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-29 03:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表