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/

:twisted: :twisted: :twisted: