一、背景
计划在OpenWRT上,定时通过SSH登录到另一台Unix并执行一些命令。在本地电脑上生成了密钥,并将公钥添加到了远程主机。在本地电脑上可直接使用密钥访问远程主机,无需验证密码。
二、问题
将本地生成的密钥复制到OpenWRT,执行同样SSH命令访问远程主机,提示:
Exited: String too long
三、解决方法
首先我们需要了解下产生问题的原因: 继续阅读OpenWRT下ssh提示Exited: String too long的解决办法
计划在OpenWRT上,定时通过SSH登录到另一台Unix并执行一些命令。在本地电脑上生成了密钥,并将公钥添加到了远程主机。在本地电脑上可直接使用密钥访问远程主机,无需验证密码。
将本地生成的密钥复制到OpenWRT,执行同样SSH命令访问远程主机,提示:
Exited: String too long
首先我们需要了解下产生问题的原因: 继续阅读OpenWRT下ssh提示Exited: String too long的解决办法
众所周知在OpenWrt中,通过上传新的固件包更新OpenWrt时,并不会保留自己手动安装的软件包(哪怕是从后台在线安装的)。好在部分配置文件可以留下来,因此提供一个简单的方式备份当前OpenWrt已经安装的软件包列表,用于在更新完系统后一次性批量安装。
这个方法适合喜欢使用官方固件+官方开源软件包的案例,如果你使用的软件包很多都是自行编译或无法通过opkg获取到,建议还是定期自己编译完整的固件包。
使用OpenWRT时,通过LuCI界面更新软件包,只能一个个手动更新,耗时费力。
下面这个方法,可以让你通过SSH批量更新OpenWRT的软件包,一键升级更新。
# 更新软件包源 opkg update # 仅更新LuCI相关软件包 opkg list-upgradable | grep luci- | cut -f 1 -d ' ' | xargs opkg upgrade # 更新全部可更新软件包,包含OpenWRT内核等 opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
如果你的Plex服务器和客户端(App,非Web)在OpenWRT路由器搭建的网络下,无法正常使用,App提示“no server found”。那大概是因为如下问题引起的。
检查路由器日志,发现在打开Plex app时,会出现提示“possible DNS-rebind attack detected”。下方紧接着是以“plex.direct”域名为结尾的domain。猜测是plex在为内网服务器增加本地domain。
解决办法也非常简单,进入OpenWRT后台,在“网络”-“DHCP/DNS”中,将“重绑定保护”勾掉。或在下方域名白名单中,加入“plex.direct”。
之后重启DHCP服务器,并重新进入Plex app,会发现可以正常使用了。
家里的两台极路由B70越来越慢,进入后台管理页面都要等很久。怀疑是固件出现了问题,或遭到了入侵。为了能彻底解决问题,我直接将两台路由器的固件都更换为了自己编译的OpenWRT。(教程后续写)
但在设置子路由时出现问题,OpenWRT不像Padavan直接提供了AP的模式可选,需要自己设置。我的需求是:
PS4玩港服游戏,丢包严重,想单独划分一个有线和一个无线(ssid),从这两个入口连接的设备流量全部都走VPN,其他有线和无线不受影响。
设备:
目标: