大家好,自从去年买了小米万兆的首发之后,这万兆就让我挺纠结的。虽然有着强大的硬件,但是功能太少,也不能刷第三方。我对路由器的要求其实挺简单的,能挂个插件就行了。但是没有SSH和残废的docker明显无法满足我的需求,所以只能软路由继续做主路由,然后这个万兆做一个大号AP使用。就在前两天,小米万兆的SSH终于被破解了,那这款路由器也即将迎来新生。这期就教大家怎么给万兆路由器开SSH。
第二步,根据提示安装docker以及第三方管理软件。
打开存储管理,看右侧的卷,没有就新建一个。然后点击详情,看一下USB-后面的字符,记录下来,后面有用。
镜像管理,点击拉取,拉取nginx:alpine-slim镜像
点击新拉取的镜像的右侧绿色运行按钮。选择简单模式,容器名称随意。目录挂载写/mnt/usb-******/mi_docker/../../..:/real_root。星号替换成刚刚你记录下来的字符。
容器管理=>选择刚才创建的容器,进入终端。输入以下命令
chroot/real_root
cd/etc/init.d
vidropbear
使用Ctrl+E,滚轮,以及方向键移动光标,到start_service()。按i进入编辑模式,给start_service内从flg_ssh开始到fi结束的五行分别添加#注释掉,按ESC退出编辑,输入:wq回车退出并保存
退出后输入命令
/etc/init.d/dropbearstart
然后就可以使用SSH工具连接SSH了。
我这里用xshell为例,来对SSH进行半固化操作。因为这个SSH是临时的,重启后会消失,所以需要半固化。如果要固化,可以参考AX9000的固化过程,但是也要先做半固化。
连接SSH后分别输入以下命令,一个命令一个回车。
nvramsetssh_en=1
nvramsettelnet_en=1
nvramsetuart_en=1
nvramsetboot_wait=on
nvramcommit
sed-i's/channel=.*/channel="debug"/g'/etc/init.d/dropbear
/etc/init.d/dropbearrestart
mkdir/data/auto_ssh
cd/data/auto_ssh
然输入
viauto_ssh.sh
按键盘上的ins按键进入编辑模式,把以下内容复制到文件内。
#!/bin/sh
host_key=/etc/dropbear/dropbear_rsa_host_key
host_key_bk=/data/auto_ssh/dropbear_rsa_host_key
#如果存在备份的SSH密钥,将备份的密钥链接到dropbear使用的密钥
if[-f$host_key_bk];then
ln-sf$host_key_bk$host_key
fi
#当前固件为稳定版时,需要执行下面命令开启SSH
channel=`/sbin/uciget/usr/share/xiaoqiang/xiaoqiang_version.version.CHANNEL`
if["$channel"="release"];then
#备份SSH密钥
if[!-s$host_key_bk];then
i=0
while[$i-le30]
do
if[-s$host_key];then
cp-f$host_key$host_key_bk2>/dev/null
break
leti++
sleep1s
done
复制完成后按ESC退出编辑模式,输入:wq退出编辑保存,再依次输入以下命令。
chmod+xauto_ssh.sh
ucisetfirewall.auto_ssh=include
ucisetfirewall.auto_ssh.type='script'
ucisetfirewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
ucisetfirewall.auto_ssh.enabled='1'
ucicommitfirewall
ucisetsystem.@system[0].timezone='CST-8'
ucisetsystem.@system[0].webtimezone='CST-8'
ucisetsystem.@system[0].timezoneindex='2.84'
ucicommit
mtderasecrash
到这里,SSH的半固化就基本完成了,重启SSH也不会消失,安装自己喜欢的插件吧。目前SC已经可以用了,lucky也可以,具体怎么安装我就不教了,不作死。
有了SSH之后,第三方固件也是指日可待,四核A73+双万兆+2GB内存也可以得到充分发挥,期待这款路由器未来的玩法!