前言
当时贪图便宜,就入手了青春版,结果官方迟迟不放出SSH,同时固件在去年10月就没有更新过了,估计不会管我们了,没办法自食其力吧。
方法
- 网上有人发现了一个漏洞,可以方便的开启SSH,因为其实青春版默认就启动了SSH服务,只是没有告诉我们密码,我们没法登陆,而网上那个漏洞,就是直接修改了SSH的密码,让我们可以进行登陆。这个方法据说也可以用在部分mini上。
- 第一步我们先登陆路由器的管理界面,我们记下,链接里的stok参数
http://192.168.31.1/cgi`-bin/luci/;stok=6b8b65f42a83bf20f42ebffcfa794791/web/home#router```
2. 我们在命令行中输入(参数两边没有<>,这里已linux系统举例)
curl -d "oldPwd=<你的管理密码>&newPwd=<你想改成的密码>" "http://192.168.31.1/cgi-bin/luci/;stok=<前面的stock>/api/xqsystem/set_name_password"
3. 执行后返回`{"code":0}%`说明修改成功,已经可以用修改的密码进行登陆了。
4. 参考 https://wiki.openwrt.org/toh/xiaomi/nano
##注意
我最近刷机的时候,发现即使是开发版的rom也没有开启SSH,不过,大家还是找到了新的方法来开启SSH。
* 首先登陆路由器管理界面192.168.31.1
登录后任务栏地址会变为
http://192.168.31.1/cgi-bin/luci/;stok=075a9192918557c27cdbcae2175281d9/web/home#router
* 把你浏览器中的/web/home#router替换成
/api/xqsystem/set_name_password?oldPwd=当前路由器管理密码&newPwd=admin
备注:admin为你的新管理密码和root密码
回车以后网页显示
`{"code":0} `
* 把你浏览器中的/web/home#router替换成
/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd
然后等一会浏览器返回:
`{"msg":"未能连接到指定WiFi(Probe timeout)","code":1616}`
现在已经启用telnet登录路由器了 (备注:win10需控制面板添加telnet)
* 然后用telnet方式连接到路由器
用户名:root ,Password输入admin
按顺序依次输入指令
sed -i ":x;N;s/if [.; then\n.return 0\n.*fi/#tb/;b x" /etc/init.d/dropbear
/etc/init.d/dropbear start
nvram set ssh_en=1; nvram commit
这时候就可以用常用的SSH方式登陆路由器了
* 还有一个方法是通过一个内部的程序进行计算,算出密码。不过这个程序本身就需要运行在路由器中,不是很方便。