前言

最近因為買了 HTC Vive XR Elite,原本贈送的 Wifi 頻寬跑不動 VR 串流,所以就斥“巨資”買了小米AX9000。
搞定串流之後,就開始思考 AX9000 還能做什麼,畢竟硬體而言,它算是相當不錯的。
然而,無論想要增加什麼功能,首先要先取得 SSH 的權限

開啟SSH方式

  • 降到開發版 1.0.140

  • 插入USB隨身碟 > 64G

  • 開啟虛擬內存,設定 4G

  • 啟用 Docker

  • 安裝第三方管理(Portainer)

    • 預設賬密 admin 登入後,修改密碼
    • Environment 中選擇 local 的那個
    • 在左側 Containers 中新增一個 Container 設定如下
      • Name → Busybox
      • Image → busybox:latest
      • Console → 選擇 Interactive & TTY
      • Driver → 選擇 json-file
    • 切到 Volumes 設定Volume mapping
      • container → /mnt 設定為 Bind
      • volume → /
      • 點擊 deploy container 建立 BusyBox 的 Container
    • 在 Containers 列表中點擊新增加的 busybox 的迴紋針圖案執行
  • 啟動 BusyBox,在其中編輯 /etc/init.d/dropbear 啟用 SSH

bash
1
vi /etc/init.d/dropbear

找到 start_service() 這邊,將 ssh 的部分註解掉,對比如下

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
start_service()
{
# .....................ssh......
flg_ssh=`nvram get ssh_en`
channel="debug"
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
}

修改成

bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
start_service()
{
# .....................ssh......
# flg_ssh=`nvram get ssh_en`
# channel="debug"
# 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
}

取得 root 密碼

至此 SSH 已開啟,接下來要取得 root 密碼

  • 取得機身上的 SN 碼

  • https://miwifi.gq 中計算出密碼

  • 用賬號 root 跟算出來的密碼登入 SSH

下一步?

到目前為止,已經取得 root 權限並可以透過 SSH 登入,不過,只要更新韌體就會進去不。
所以,下一步是先修改韌體,讓 Telnet 功能常開,這樣更新後可以透過 Telnet 開啟SSH。

計劃中的教學

  • 修改韌體永久開啟Telnet,升級後也可開啟 SSH
  • 用 ShellClash 翻墻
  • 刷 OpenWrt(待定)