1. 当前位置: 网站首页 >  小米(MIWiFi) >  小米ax3000t 解锁ssh后用scp上传文件,超过20k就会显示错误

小米ax3000t 解锁ssh后用scp上传文件,超过20k就会显示错误

小米AX3000T 官方固件写入限制 20 KB”的问题,症状就是用 scp 传文件只要超过 20 KB 就会报错,目前基本可以确定是官方固件里 /usr/sbin/dropbear/usr/bin/dbclient 被小米加了一道硬编码限制,用来阻止大家一次性把大型第三方包(如 ShellClash、OpenClash 等)拖进路由器。简单理解就是:

小米ax3000t 解锁ssh后用scp上传文件,超过20k就会显示错误

  1. SSH 能连,但 scp 内部会调用 dropbear 的 dbclient 做加密通道,小米把 dbclient 单次接收缓冲区写死成 20 KB;
  2. 本地 scp 默认一次会发 32 KB~64 KB 的 payload,于是刚发第一帧就被对端 dropbear 拒绝,client 端立刻报 “lost connection” 或 “broken pipe”;
  3. 文件 ≤ 20 KB 时,一帧就能装下,不会触发这条保护,所以看上去“小文件正常”。
目前可行的绕过办法只有两条思路,没有“单纯改命令参数”就能突破的方案:
A. 在 PC 端把大文件切成 ≤ 20 KB 的小块
  • Linux / macOS
     
    split -b 19k bigfile.bin chunk_          # 每块 19 KB
    for f in chunk_*; do
        scp "$f" root@192.168.31.1:/tmp/
    done
    ssh root@192.168.31.1 'cat /tmp/chunk_* > /tmp/bigfile.bin; rm /tmp/chunk_*'
     
  • Windows(PowerShell)
     
    1..20 | % { $s=19kb; $i=$_; $b=[io.file]::ReadAllBytes("bigfile.bin")
        [io.file]::WriteAllBytes("chunk_$i",$b[($i-1)*$s..($i*$s-1)]) }
     
切完用 WinSCP 一个个拖进去,再到路由器里 cat 合并即可。
假设已经在 /tmp 里放了 chunk_aa chunk_ab chunk_ac …
 
cd /tmp
cat chunk_* > 目标文件名.bin
B. 直接换掉被限制的 dropbear
先把路由器刷成“官改”或第三方固件(例如 OpenWrt、Padavan、X-Wrt),这些固件用的都是原版 dropbear/openssh,没有 20 KB 限制,一次 scp 几百兆都没问题。但刷机有风险,防止意外砖。
临时应急就用方案 A,想根治只能走方案 B。官方后续是否解除这条限制暂无消息,目前 1.0.80/1.0.84 等新版固件实测依旧存在 20 KB 天花板 。
展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《小米ax3000t 解锁ssh后用scp上传文件,超过20k就会显示错误
本文地址:https://www.shunot.com/miwifi/681.html
除非注明,文章均为 《路由爱好者》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论


评论列表

清泪尽
清泪尽回复
#2
小米AX3000T的scp限制确实坑,强制20KB上限影响使用体验。小文件正常大文件报错,强行切分麻烦。希望官方能优化,毕竟SSH功能本应更灵活。
4 个月前
笑叹浮生
笑叹浮生回复
#1
这个限制挺烦人,明明能SSH连接,但scp传文件却卡在20KB,影响使用体验。希望小米能尽快修复,毕竟合理限制没问题,但硬编码这种明显影响用户操作的设置就不太友好。
4 个月前

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注