通过SSH开闭Merlin路由远程管理页

我的路由器是Asus RT-AC68U,固件版本Merlin 380.69_2-X7.8

相比密码,通过SSH key远程登陆更为安全。有时为方便操作需要远程访问路由Web界面,但将路由设置界面暴露到公网也加大了安全风险,所以我的做法是SSH连接一直开放,需要远程访问Web界面时,通过SSH打开,用完后立刻关闭。

开始之前需要路由有公网IP、配置DDNS、配置SSHd,然后就可以开闭远程管理页了:

  1. 在内网通过Web界面设置远程管理,并测试通过
  2. SSH登陆,使用nvram命令关闭远程管理页
    nvram set misc_http_x=0
    nvram commit
    reboot
    
  3. Done

上面的操作就将远程管理页关掉了,上面的misc_http_x设置为1即打开。

为加固安全性,可以启用HTTPS访问,并为路由配置证书,参考:搞定Merlin使用DNS实现Let’s Encrpt证书,使用SSL安全访问后台

除开闭远程管理,还可通过nvram命令可以完全控制路由设置(后面补充字段对应功能寻找方法),参考:Full controlling the ASUS router via command line,该文中的flash命令替换为nvram


后来我发现,直接开Merlin里面的OpenVPN server,远程连VPN更安全、省事。

补充:

到路由器设置页面,快捷键Ctrl+Shift+C定位要设置的功能表单,例如“从互联网设置 RT-AC68U”的“是/否”选项,在浏览器控制台中定位如下行代码

< input name="misc_http_x" type="radio" value="1" />

其中name就是字段名,value就是值