一、前言
本文只针对小米(Redmi)路由器,其他路由器请另请高明
其实在网上有很多把路由器刷成开发板后开起的方法,但我家路由器恰好没USB,也没开发版,这样就离开发板远去了我发现了不用开发板也可以的方法,就来分享一下。(理论所以机型都能用)
二、工具下载
我决定将代码开源到github(https://github.com/cdpyx/Open-the-one-stop-service-of-Xiaomi-router-SSH-password-)
首先我们要下载工具点这
我收一点C币,不过分吧,代码完全开源大家不想付钱可以自行编译`//头文件
#include
#include
using namespace std;
//-------------------------------------------------------------------------
//主函数
int main() {
while(1)
{
//模式选择
cout<<"请选择业务类型:"<<endl<<"1.生成SSH开启连接"<<" "<<"2.生成SSH改密码连接"<<" "<<"3.生成关闭SSH连接";
int mode=0;
string network="",stok="";
cout<<endl<<"请输入:";
cin>>mode;
if(mode==1)
{ //条款
cout<<endl<<"你好,开启SSH代表自愿放弃保修,如果你自愿放弃保修并同意条款请输入1后按Enter,否则请关闭窗口"
; cout<<endl<<"开启小米路由器的SSH功能之后用户可以获得root权限, root之后用户的各种操作将有可能会导致路由器系统不稳定或软硬件故障。对于用户主动选择开启上述功能而可能产生的后果,小米公司将不会承担任何法律责任(包括但不限于路由器中数据的失、软硬件损坏)。同时,用户开启此功能即代表主动放弃小米公司提供的保修服务,请您在开启本功能之前慎重考虑!"
;
int mode1 = 0;
cout<<endl;
cin>>mode1;
if(mode1=1)
{//输入参数
cout<<endl<<"请输入网段:";
cin>>network;
cout<<endl<<"请输入STOK:";
cin>>stok;
cout<<endl<<"链接是:"<<"http:// "<<network<<"/cgi-bin/luci/;stok="<<stok<<"/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B";
}
}
if(mode==2)
{//参数
cout<<endl<<"请输入网段:";
cin>>network;
cout<<endl<<"请输入STOK:";
cin>>stok;
string d1,d2;//密码验证
cout<<endl<<"请输入密码";
cin>>d1;
cout<<"请再次输入密码";
cin>>d2;
while(d1!=d2||d1=="")
{
if(d1!=d2)
{
cout<<"两次输入不一样,请重新输入 ";
}
else
cout<<" 密码不能为空";
d1 = "";
d2 = "";
cout<<endl<<"请输入密码" ;
cin>>d1;
cout<<"请再次输入密码";
cin>>d2;
}
cout<<endl<<"链接是:"<<"http:// "<<network<<"/cgi-bin/luci/;stok="<<stok<<"/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'"<<d1<<"%5Cn"<<d2<<"'%20%7C%20passwd%20root%3B";
}
if(mode==3)
{
//参数
cout<<endl<<"请输入网段:";
cin>>network;
cout<<endl<<"请输入STOK:";
cin>>stok;
cout<<endl<<"链接是:"<<"http:// "<<network<<"/cgi-bin/luci/;stok="<<stok<<"/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D0%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B"
;
}
}
return 0;
}
`
三、用法
1.开启ssh
c++编写
现在开始教程
运行后
我们先输入1
然后同意协议
来自
www1.miwifi.com
我们输入1后回车
然后打开我们的路由器管理界面
这一串(圈起来的)输入进去
后将地址栏黄色荧光比部分(stok=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)不含"stok="的部分输入进去共32位然后回车
再将生成的网址输入在浏览器里
然后看到{”code“:0}就开启了
2.改密码
但现在我们ssh密码,所以我们要改密码现在我们回到了第一个地方
然后输入2后回车
然后我们登录后台
这一串(圈起来的)输入进去
后将地址栏黄色荧光比部分(stok=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX)不含"stok="的部分输入进去共32位然后回车
然后输入两边密码(自定义)
然后我们将链接复制到浏览器(涂荧光笔,涂黑是作者的密码)
看到:{“code”:0}后OK
3.关闭ssh
然后是关闭
与开启几乎相同,只是第一步输入3和没有协议
四、链接
连接办法
Windows系统:按windows键+R,输入cmd,确定
这一串(圈起来的)复制然后
输入ssh root@粘贴复制的网段如:ssh root@192.168.31.1
如果出现
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:LLsc+W5CFJqJg8bwNKMmgKQ0TlzNLYIwLFd9pYMsYHc.
Please contact your system administrator.
Add correct host key in C:\Users\mayan/.ssh/known_hosts to get rid of this message.
Offending RSA key in C:\Users\mayan/.ssh/known_hosts:1
RSA host key for 192.168.31.1 has changed and you have requested strict checking.
Host key verification failed.
的话可以输入ssh-keygen -R 网段
来自reichaan02的博客
然后重新连接输入密码
然后就开启了
苹果:终端中输入:ssh -p 22 root@网段
让后输入密码
Linux:与windows一样
总结
例如:以上就是今天要讲的内容,本文仅仅简单介绍了小米路由器的开启办法,而ssh提供了大量能使我们快速便捷玩路由器。