【路由器】CR8809 开启SSH/Telnet
适用:CR8809 电信版 (CR8806, CR8808 等不确定能不能用,但理论上固件是通刷的,所以各位可以试试?)
首先准备如下:
1.MIWIFIRepairTool (就是官方的那个刷机工具)
2.一份和你当前型号匹配的原版固件的备份(以供恢复)
3.一份 6.2.147 版本的 CR8808 固件(可能也有别的版本有这个能开启 Telnet 的后门,我不确定,总之我确定这个版本是可以的)
4.用来连接 Telnet/SSH 的软件,Windows 自带的那个或者 PuTTY 什么的都可以
5.一台电脑(当然)
然后开始。
1.首先在电脑上打开 MIWIFIRepairTool:
2.选择8808的固件按提示刷固件
3.蓝灯刷机成功之后,拔掉电源线重新插上,等待路由器开机。
路由器开机之后进入其后台 (可能IP会变,变了的话看 ipconfig 咯),密码应该依然是背面印的默认密码。进入后台之后网址会有一段 stok,复制下来。
4.然后就是重点,访问 http://(路由器IP)/cgi-bin/luci/;stok=(你刚复制的stok)/api/misystem/set_telnet?enable=1 这个地址,就会开启 Telnet 了。
然后,打开你的 Telnet 工具连进路由器,用户名 root,密码就是机身背面贴的管理密码 (或者访问 /api/xqsystem/bdata 找 mgtpsd 字段) 。
看到 ARE U OK 之后进入下一步。
5.接下来我们固化这个 SSH。执行这个命令,打开调试模式来解除 bdata 的写保护:
zz=$(dd if=/dev/zero bs=1 count=2 2>/dev/null) ; printf '\xA5\x5A%c%c' $zz $zz | mtd write - crash
执行完用 reboot 命令重启路由器。重启之后如果 Telnet 关上了(但调试模式应该不会?不确定)那么再走一遍上面的步骤就可以。
路由器重新开机后再 Telnet 上,继续依次执行:
bdata set ssh_en=1
bdata set telnet_en=1
bdata set uart_en=1
bdata set boot_wait=on
bdata commit
完成后 reboot 重启。
重启后再一次连上,用 bdata show 命令确定一下我们刚刚加上去的参数真的写上去了之后,执行
mtd erase crash
清除掉 crash 来关掉调试模式。然后重启。不放心的话,重启完可以再确认一下参数在不在。
这样我们应该就已经把开启 telnet 的标志写入了 bdata。
6.刷回 CR8809 的固件
还是按上面的老规矩,进刷机模式,用官方刷机工具刷回 CR8809 的固件。bdata 理论上不会受到影响,所以刷回去之后 Telnet 应该也会是开启状态。
7.开启SSH
nvram set ssh_en=1
nvram set telnet_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 restart
mkdir /data/auto_ssh
cd /data/auto_ssh
curl -O https://fastly.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh
uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall
uci set system.@system[0].timezone='CST-8'
uci set system.@system[0].webtimezone='CST-8'
uci set system.@system[0].timezoneindex='2.84'
uci commit
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。