openwrt 开启SSH远程访问
首先,你的电脑用网线连接路由器LAN口是可以访问WEB页面和SSH连接的。
例如,电脑1连接Openwrt路由器,可以进行SSH连接到openwrt 路由器。但是电脑2无法远程访问Openwrt路由器网页和SSH远程连接。
本次操作固件版本为OpenWrt R23.6.6
方法一:关闭防火墙
从电脑1进入WEB页面,系统,管理权,SSH访问,钩选,密码验证,允许ROOT用户凭密码登录,
网关端口。
阻止防火墙服务开机自动启动
/etc/init.d/firewall disable
关闭防火墙
/etc/init.d/firewall stop
试着访问一个Openwrt路由器,web页面和SSH连接。
电脑2,远程应该是可以访问web页面了,但是SSH还是不行。
方法二:Socat转发端口
Socat 是 Linux 下的一个多功能的网络工具,名字来由是「Socket CAT」。其功能与有瑞士军刀之称的 Netcat 类似,可以看做是 Netcat 的加强版。
- 从电脑1进入WEB页面,系统,管理权,SSH访问,钩选三个选项,密码验证,允许ROOT用户凭密码登录,网关端口。
- 从电脑1进入WEB页面,网络,Socat,添加
在Socat 配置页面,钩选,启用。监听端口,为外部访问端口。目标地址,选带lan后缀那个。目录端口是Dropbear实例那个。钩选,打开防火墙。
用ssh命令访问,openwrt的IP本地为从主路由看到那个。
ssh root@192.168.1.100 -p 10022
WEB页面访问不了,也可以在这里加上一条80端口转发10080.
方法三:防火墙通信规则
如果没有安装Socat的话,可以试试这个。我这边没成功。
- 从电脑1进入WEB页面,系统,管理权,SSH访问,钩选三个选项。
- 防火墙 - 区域设置,入站数据,出站数据,转发,都改为接受。
试试看。 - 网络,防火墙,通信规则,添加,保存并应用。
试试看。 - 防火墙,端口转发,
参考
外网访问Openwrt路由器管理Web及SSH
OpenWRT 配置远程ssh及访问WEB页面