SSH使用证书连接服务器提示String too long

路由器GL.iNet AR750S-EXT在前几天误操作变砖之后,重新使用UBOOT机制进行固件安装,并成功安装了Open WRT的最新版固件,此时此刻用着还算稳定。 不过在Open WRT系统内,预装的是Dropbear SSH的服务端和客户端,而并非Open SSH的服务端和客户端。 两个SSH的发行版本差别有一些,Dropbear SSH是专门针对嵌入式系统开发的,它对系统资源的占用更小,功能上也更加精简。虽说常用功能都一样,基本可以平替。然而事实上,对我而言他们二者还是有一定的区别,导致现在稍微有一些难以满足个人需求了。 当前遇到的最主要的问题是:直接使用证书访问登录远程服务器,DropbearSSH会提示String too long错误。 这是因为通常情况下远程服务器都是open ssh server,所生成的也就自然都是open ssh所使用的证书文件。如果直接使用dropbear ssh读入这个证书,会发现并不能正常读取: 当前因为系统内安装的是Drop bear SSH client,所以需要对证书进行重新制作,比较容易的做法是直接使用dropbearconvert命令进行转换生成新的证书。 dropbearconvert是一个控制台命令,先使用opkg包管理器进行安装,之后便可使用。 这样就可以生成出适用于dropbear ssh的证书: