小米路由器 AX9000 开发版固件直接获取 SSH
1.下载安装开发版固件
官网下载: http://www.miwifi.com/miwifi_download.html
下载地址: miwifi_ra70_all_develop_1.0.140.bin
md5sum: a0221ec10e2197922c975bc5cf961324
sha256sum: 4471d3d9d1e047429e3baf7abc06e79f2ff949af570d9d0c2c39aea018252b66
直接在界面更新即可。
2.在路由器界面安装并开启 docker 服务,并安装第三方管理服务,打开 docker 管理界面
3.在容器管理界面单击左上角 “Add container”,进入容器部署界面,按如下参数部署容器
使用 busybox 镜像
开启 tty
挂载主机根目录
最后,单击 “Deploy the container” 部署容器
4.返回容器列表,单击 busybox 容器后的回形针图标
5.chroot 到主机根目录,获取 SSH
chroot /mnt
vi /etc/init.d/dropbear
编辑 /etc/init.d/dropbear 注释以下几行:
start_service()
{
# 稳定版不能打开ssh服务
#flg_ssh=`nvram get ssh_en`
#channel=`/sbin/uci get /usr/share/xiaoqiang/xiaoqiang_version.version.CHANNEL`
#if [ "$flg_ssh" != "1" -o "$channel" = "release" ]; then
# return 0
#fi
[ -s /etc/dropbear/dropbear_rsa_host_key ] || keygen
. /lib/functions.sh
. /lib/functions/network.sh
config_load "${NAME}"
config_foreach dropbear_instance dropbear
}
最后启动 ssh 服务:
/etc/init.d/dropbear start
6.修改 root 密码或添加 authorized_keys
修改 root 密码
passwd root
添加 authorized_keys,注意只支持 rsa 格式的公钥
vi /etc/dropbear/authorized_keys
7.固化
直接使用这个工具即可:https://github.com/paldier/ax3600_tool
工具下载页面:https://github.com/paldier/ax3600_tool/releases
注意 AX9000 的 bdata 分区是 mtd18
root@XiaoQiang:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00100000 00020000 "0:SBL1"
mtd1: 00100000 00020000 "0:MIBIB"
mtd2: 00080000 00020000 "0:BOOTCONFIG"
mtd3: 00080000 00020000 "0:BOOTCONFIG1"
mtd4: 00300000 00020000 "0:QSEE"
mtd5: 00300000 00020000 "0:QSEE_1"
mtd6: 00080000 00020000 "0:DEVCFG"
mtd7: 00080000 00020000 "0:DEVCFG_1"
mtd8: 00080000 00020000 "0:APDP"
mtd9: 00080000 00020000 "0:APDP_1"
mtd10: 00080000 00020000 "0:RPM"
mtd11: 00080000 00020000 "0:RPM_1"
mtd12: 00080000 00020000 "0:CDT"
mtd13: 00080000 00020000 "0:CDT_1"
mtd14: 00080000 00020000 "0:APPSBLENV"
mtd15: 00100000 00020000 "0:APPSBL_1"
mtd16: 00100000 00020000 "0:APPSBL"
mtd17: 00080000 00020000 "0:ART"
mtd18: 00080000 00020000 "bdata"
mtd19: 00080000 00020000 "crash"
mtd20: 00080000 00020000 "crash_syslog"
mtd21: 03800000 00020000 "rootfs"
mtd22: 03800000 00020000 "rootfs_1"
mtd23: 00100000 00020000 "cfg_bak"
mtd24: 03d80000 00020000 "overlay"
mtd25: 04000000 00020000 "mifw_bak"
mtd26: 005ef000 0001f000 "kernel"
mtd27: 02283000 0001f000 "ubi_rootfs"
mtd28: 0087a000 0001f000 "rootfs_data"
mtd29: 03013000 0001f000 "data"
所以备份命令是:
nanddump -f /tmp/bdata_mtd18.img /dev/mtd18
姐姐棒棒
真及时雨,一次成功!!!
大佬,ax10000有方案开吗
最后一步固化有什么作用呢?以后升级了新的固件,通过这个备份再开启SSH吗?
固化的意思,就是将ssh权限给固化起来,以后路由器就算升级系统,ssh也会一直存在。如果不固化,一旦升级系统,ssh就会被重置。我已经找到了一个AX9000的完整ssh加固化流程的详细教程。只不过不能在这引流啊,作者也会审核回答,你试试百度《《《《红米AX6/小米AX6/AX3600/AX6000/AX9000全系列拿SSH权限&固化教程》》》》这个看起来非常靠谱。
说真的,最后那个固化教程是不是有点太敷衍了。。我这种不算太小白的童鞋都看的云里雾里的。
哈哈,是啊,我搜了很多资料,没有一个讲清楚的。
ssh 密码忘了怎么办
大佬,小米万兆路由器是否也可以按照这个能开启ssh呢?
绝[爆赞],这个方案比之前看到的openwrt中继的方案要棒太多了,而且过程都容易理解,不需要搭openwrt虚机也不要openwrt机器作为中继,666666
ax9000能否用万兆路由器的以下方法固化?
通过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,并执行以下指令(执行后会自动重启):
mtd erase crash
reboot
等待路由器重启后,重新连接ssh,固化完成。
大神请问下,我启动这步
/etc/init.d/dropbear start
跳出这个是哪里出错了吗
/etc/rc.common: /etc/init.d/dropbear: line 231: syntax error: unexpected "}" (expecting "done")