小米路由器官方SSH

来自IPTV爱好者
跳转至: 导航搜索

小米路由器提供了官方的SSH工具,在 http://d.miwifi.com/rom/ssh 上开启SSH功能,下载SSH工具包,将ssh_rom.bin文件拷贝到U盘,然后长按RESET键进入U盘恢复模式。

下面分析一下官方SSH工具的工作原理:

用解包工具mkxqimage将ssh_rom.bin文件解包,得到脚本文件upsetting.sh,内容为:

#!/bin/sh

nvram set ssh_en=1
nvram set flag_init_root_pwd=1
nvram commit

执行脚本文件upsetting.sh后,将ssh_en设置为1,同时设置了flag_init_root_pwd项。当正式启动时,/usr/sbin/boot_check脚本检测到flag_init_root_pwd=1时,自动修改root用户密码,具体脚本为:

flg_init_pwd=`nvram get flag_init_root_pwd`
if [ "$flg_init_pwd" = "1" ]; then
	init_pwd=`mkxqimage -I`
	(echo $init_pwd; sleep 1; echo $init_pwd) | passwd root
	nvram unset flag_init_root_pwd
	nvram commit
fi

初始密码是mkxqimage -I的结果,实际是根据路由器的序列号计算得到。路由器的序列号印在底盖上,12位数字,如:561000088888

初始密码计算算法为:

substr(md5(SN+"A2E371B0-B34B-48A5-8C40-A7133F3B5D88"), 0, 8)

返回:小米路由