小米AX9000获取SSH方法

小米AX9000,目前是小米最顶级的路由器了,配置相当高。

三频wifi和2.5G网口基本也是业界顶级的配置了,价格比较便宜999。性价比不错。

前两天在openwrt.org上看到了AX9000的SSH获取方法,特此转载。

请注意以下教程,我并未实践,不推荐新手玩家操作。

 

  1. 将固件版本升级或者回退到 1.0.108版本 || 地址:http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/ra70/miwifi_ra70_firmware_d96a4_1.0.108.bin
  2. 设置一个路由器的管理员密码 (可以通过小米WIFI APP快速设置)
  3. 使用电脑登录路由器的管理界面,从URL种获得“stok=” 后面的一串值。

现在你需要另一台已经刷好openwrt的路由器(注意管理界面不要开启https访问)

并通过网线链接这个路由器,进行以下操作

  • 关闭 br-lan的DHCP服务

你可以在接口-lan中关闭,或者通过ssh编辑下面的文件

/etc/config/dhcp

config dhcp 'lan'
        option interface 'lan'
        option dhcpv6 'server'
        option ra 'server'
        option ra_management '1'
        option ignore '1'
  • 设置  br-lan 的 IP 为 169.254.31.1

你可以在接口-lan中设置,或者通过ssh编辑下面的文件

/etc/config/network

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '169.254.31.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
  • 添加 lua 文件

你可以通过sftp工具上传,或者在ssh中通过vi/vim创建文件

/usr/lib/lua/luci/controller/admin/xqsystem.lua

module("luci.controller.admin.xqsystem", package.seeall)
function index()
    local page   = node("api")
    page.target  = firstchild()
    page.title   = ("")
    page.order   = 100
    page.index = true
    page   = node("api","xqsystem")
    page.target  = firstchild()
    page.title   = ("")
    page.order   = 100
    page.index = true
    entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
end

local LuciHttp = require("luci.http")

function getToken()
    local result = {}
    result["code"] = 0
    result["token"] = "; nvram set ssh_en=1; nvram set uart_en=1; nvram set boot_wait=on; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
    LuciHttp.write_json(result)
end
  • 设置WIFI名称

    2.4G频段 WIFI 名称:OpenWrt
    加密协议:psk2
    密码:12345678
    信道:11
    协议:11g
    频宽:20MHz
    模式:AP

你可以在无线设置设置 ,或者通过ssh编辑下面的文件

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/soc/a000000.wifi'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'psk2'
        option key '12345678'
  • 拔掉网线,断电重启这个openwrt路由器

现在你需要修改url中的相关的值

  • 用你刚才在小米AX9000上获得的值,替换<STOK>
  • 用刚才在openwrt路由器上修改好的wifi名,替换<SSID>
  • 用刚才在openwrt路由器上修改好的wifi密码,替换<PASSWORD>
  • 用刚才在openwrt路由器上修改好的wifi加密协议,替换<ENCRYPTION>
  • 用刚才在openwrt路由器上修改好的wifi加密类型,替换<ENCTYPE>
  • 用刚才在openwrt路由器上修改好的wifi信道,替换<CHANNEL>
  • 用刚才在openwrt路由器上修改好的wifi频段(2g or 5g),替换<BAND>
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/extendwifi_connect_inited_router?ssid=<SSID>&password=<PASSWORD>&encryption=<ENCRYPTION>enctype=<ENCTYPE>&channel=<CHANNEL>&band=<BAND>&admin_username=root&admin_password=admin&admin_nonce=xxx

举例:

http://192.168.31.1/cgi-bin/luci/;stok=0a445755411dc750673aea041adcd06f/api/xqsystem/extendwifi_connect_inited_router?ssid=OpenWrt&password=12345678&encryption=WPA2PSK&enctype=CCMP&channel=11&band=2g&admin_username=root&admin_password=admin&admin_nonce=xxx

按ENTER之后你会得到以下返回信息:

{"token":"; nvram set ssh_en=1; nvram set uart_en=1; nvram set boot_wait=on; nvram commit; sed -i 's/channel=.*/channel=\u0022debug\u0022/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;","code":0}

现在你可以通过ssh root@192.168.31.1 访问了,密码你可以通过SN计算出来.

这个网站 https://www.oxygen7.cn/miwifi/ 可以计算。

本文转载自:https://openwrt.org/inbox/toh/xiaomi/ax9000

 

THE END