小米AX3000T解锁SSH 安装shellclash小猫咪&固化SSH+开启外网访问web页面
小米AX3000T最近可以解锁ssh刷机了,对我来说官方系统挺好用的,有双wan聚合、双lan聚合、IPTV、游戏加速、手机端app还有上网行为管理,我不需要刷机成openwrt,能解锁ssh开启互联网访问,以及安装shellclash即可。
小米AX3000T解锁ssh
🔺登录路由器后台,复制自己的stok变量
打开Windows系统CMD ,最好以管理员身份运行下面代码:
依次输入以下代码,小米 AX3000T 解锁 SSH 命令:(
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/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=<STOK>/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=<STOK>/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=<STOK>/api/misystem/arn_switch -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A"
🔺正常情况会出现code:0 就是解锁ssh成功了,没有固化ssh,升级系统后可能会丢失ssh连接
计算一下ssh的密码
登录官方网址: https://miwifi.dev/ssh
输入路由器的SN可以得到SSH密码,路由器后台有显示SN号码。
安装shellclash 小猫咪
在CMD里使用系统自带的命令:ssh root@192.168.31.1
如果提示不是内部或外部命令,也不是可运行的程序 或批处理文件 就是系统没有ssh命令,使用第三方工具连接,如putty。
然后输入密码(密码不可见),输入完毕,回车即可。
路由设备使用curl安装:
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellCrash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
按顺序选择对应数字:
选2 shellclash稳定版,安装目录1或者2都可以 选1透明代理 选1 启用软固化 选1 导入配置文件,复制粘贴订阅链接,回车 选1 开始生成配置文件 选1 立即启动clash服务 选9 更新 选4 安装本地dashboard面板
安装完成后即可访问:http://192.168.31.1:9000/ui 管理相关规则
shellclash测试网速
设置了全局代理模式,简单测试一下。
🔺 fast测网速
🔺speedtest测网速
可以看到联发科MT7981 这个双核1.3Ghz的处理器性能还不错,可以跑到500~600Mbps的速度
如果你不需要openwrt系统的其他功能,只是需科学上网,那使用官方系统加小猫咪可能是更好的选择,信号稳定、不影响原有功能,也可以使用手机来远程控制。
自动开启SSH服务脚本(软固化)
小米路由器是 Snapshot 系统,重启会重置为最初状态,导致解锁 SSH 失效。提示为connect to host 192.168.1.200 port 22: Connection refused
小米路由器固化ssh挺麻烦的,网上也没有ax3000t的教程,但我们可以设置一个开机启动ssh的脚本来实现重启后开启ssh服务。
创建一个目录
mkdir /data/auto_ssh && cd /data/auto_ssh
下载脚本文件,使用 GitHub 地址下载失败可以使用 jsDelivr CDN 地址进行下载
GitHub 地址
curl -kfsSL -O https://raw.githubusercontent.com/lemoeo/AX6S/main/auto_ssh.sh && chmod +x auto_ssh.sh
jsDelivr CDN 地址
curl -kfsSL -O https://cdn.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh && chmod +x auto_ssh.sh
执行下面命令解锁 SSH 并添加开机自启动
./auto_ssh.sh install
如果不需要自动开启 SSH 服务,使用下面命令移除开机自启动:
./auto_ssh.sh uninstall
现在重启路由器后,可以连接ssh了,只要不刷机或者恢复出厂设置,就一直有效。
参考:https://github.com/lemoeo/AX6S
固化SSH
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
至此固化完成,升级系统也不要紧了。
小米AX3000T开启外网访问web面板
小米路由器为了安全起见关闭了外网访问web面板的权限,自身的端口转发也不能设置为192.168.31.1
(小米路由器IP),开启SSH后我们可以设置防火墙规则来绕过这个限制。
网上搜索排名靠前CSDN的方法失效,经过反复的测试,终于找到了可以开启远程访问web管理页面的方法:
用winscp
使用scp模式连接小米路由器,然后找到/etc/config/firewall
文件,右键点击编辑在文档末尾添加下面代码,添加完成后即可保存!
config redirect 'wan11080rdr1'
option proto 'tcp'
option src_dport '11080'
option dest_ip '192.168.31.1'
option dest_port '8080'
option src 'wan'
option name 'WEB'
option target 'DNAT'
option ftype '1'
option dest 'lan'
测试发现小米屏蔽了外网IP:端口→192.168.31.1:80的访问(外网非80/443映射到内网80会被屏蔽),但8080端口未屏蔽,所以这里WEB管理端口设置8080,访问时填你的公网IP地址:你设置的端口,我的是11080,所以是XXX.XXX.XXX.XXX:11080
这里注意,设置的端口必须是大于10080才可以生效,可能小米还限制了端口大小,太小的数字是不生效的。
然后SSH连接路由器,输入下面命令重启一下防火墙即可
/etc/init.d/firewall restart
刷新页面可以看到端口转发有了刚刚设置的规则
浏览器输入你的公网IP:11080即可访问小米的web管理页面了
参考恩山帖子:https://www.right.com.cn/forum/thread-4060048-1-1.html