Mar 21
Linksys EA6900 刷 FreshTomato,opkg 装 openssh-server (其实是想装 openssh-sftp-server)重启后 SSH 连接不能。telnet 上去发现 dropbear 未启动,手动启动出错:
dropbear -F -E
Early exit: Bad buf_getptr
搞了几个小时,定位问题在 dropbear 的密匙文件,把其它路由器上正常的文件覆盖此路由器 /etc/dropbear/ 下三个文件,则 dropbear 能正常启动。最终解决办法:
nvram unset sshd_hostkey
nvram unset sshd_ecdsakey
nvram unset sshd_dsskey
nvram commit
reboot
原理:这三个密匙都是生成后保存在 nvram 中的,启动时如果没有这三个文件,系统会重新生成。
参考:
https://www.linksysinfo.org/index.php?threads/how-can-i-save-etc-dropbear-during-a-reboot.30485/
http://tomatousb.org/forum/t-311630/how-do-you-change-the-dropbear-host-key-files
https://www.linksysinfo.org/index.php?threads/struggling-to-set-up-ssh-on-shibby.73096/