此问题可能复现的场景
- 个人环境下配置的服务器,即没有稳定的运行环境保障(断电,莫名宕机等)
- 存在多个用户,出现某一账户突然登不上的情况,如,root 账户登不上,但其他账户可以
我的环境
- 放在家里的树莓派,需要外地(学校)远程登陆,某天突然出现 root 账户无法登录
- 突然登不上的原因其实只有三种,1、异常关机,导致数据异常 2、肉鸡 3、密码错误也有可能,但点了保存密码,也不会出什么错
- 肉鸡?因为上面还跑了 openwrt ,观察发现 CPU,网络 并没有被滥用的表现,所以基本否定了
- 密码错误?xshell 有记录密码功能,其他客户端肯定都有,要是你是命令行用户,那肯定不存在忘记的问题。多次试错下来,没有办法了,想不出密码还能是什么,推荐一个工具,可以查看隐藏的密码,AsteriskPassword,这个工具,可以搜一下看看。查看密码后确定密码没问题
- 断电?观察路由器记录(有定期重启任务,外加联网时间有记录,二者不重合)发现家里停过电,所以初步推测是异常关机造成的
- 既然是异常断电导致的,那我初步想到就是可能是 sshd 抽风了?在断电下重启试试🤭,通知家里试过后,还是没用。到此,一筹莫展,都不打算用了,干脆通知了家里关掉,但好在手没那么快哈(根本没理我),第二天还没关掉
- 到了今天,我想着能不能登一下默认账户试试(raspbian64 系统,默认有个 raspbian 用户),结果还就登上了,输入 sudo passwd,基本就确定了root 密码是掉电没了
- 不过最后推断,默认 raspbian 用户的密码我当时也改过应该,今天登的时候用的默认密码,所以,本次问题的原因就是,断电导致的 ssh 相关数据清零(恢复出厂设置了)
有啥值得思考的地方吗?
- 做事多留条后路,比如,自己在家整了台服务器,不能只有一个 ssh 对外,万一挂了,那在外面就没辙了,可以在路由器上再开一个 ssh 对外啊
- 有时候想不出来就是想不出来,费多大劲也没用
可能对各位来说没啥用哈😂
单纯记录一下我的解决方法,祝各位好运吧💪