Mini Linux运行dropbear一例奇怪错误的解决

桌面属于Windows但世界属于Linux

昨晚自己从内核剪裁开始调试了vm上的mini linux,一路上也填了不少坑,不过都不能算是奇怪的问题,直到我尝试在mini linux上启动dropbear(2016.74)尝试ssh登陆……

当时的情况是这样的:我正常启动dropbear后,使用xshell登陆目标主机的22端口,xhell显示建立连接成功,我输入了root账号和密码,xhell提示“服务器拒绝了密码”,我非常确定密码没错,因为在vm上的mini linx是可以用root和这个密码登陆的,莫非是这个版本的dropbear限制root用户进行远程登陆?为了确定是否是这个原因,我又手动创建了名为christ的普通用户,再用shell尝试登陆,但dropbear一样显示错误信息:“User account ‘christ’ is locked”,前台的dropbear打印出的log信息是这样的:

而这个christ帐户在tty3上登陆一点问题都没有,这真是个奇怪的提示信息。无奈之下我打开浏览器始寻求搜索引擎的帮助,结果无论是百度还是谷歌,都无法提供解决这个问题的解决方案。看来,要解决这个奇怪的问题,只能靠自己。

难道是dropbear编译安装的问题?于是我又启动创建mini linux的宿主机(centos6.7)从头编译了一次dropbear,确认所有模块均编译正常,并且在宿主机运行dropbear并用xhell登陆,确定它是可以正常工作的,然后再次把dropbear主程序和其依赖全部拷贝到mini linux上。

再此启动mini linux打开dropbear,问题依旧……看来这个帐户锁定的问题并不在dropbear上,极有可能是它对登陆用户的认证环节有问题。先前在给root创建密码时,由于我不确定busybox能否识别宿主机的sha512加密方式,就用了openssl创建了md5加密的密钥串作为root帐户的密码,我推测dropbear有可能无法识别md5的密钥串。

为了验证我的猜测,我用busybox的passwd命令在tty3上重新为root帐户设置了新的密码,然后kill原先的dropbear进程,重新在前台启动了dropbear,再次尝试用root登陆,终于解决了这个奇怪的问题,登陆状态如下:

而我换成原先创建的christ帐户尝试登陆,依然是“User account ‘christ’ is locked”错误,但用passwd修改密码后就能正常登陆。由此看来,尽管busybox可以使用我用openssl创建的md5密钥串登陆系统,但dropbear确实无法识别我创建的md5密钥,必须用passwd修改密码。

猜你喜欢

转载自blog.csdn.net/linuxarmsummary/article/details/87719466
今日推荐