Linux服务器SSH登录失败,通过重启进入救援模式,检查配置并重置密码,问题解决。
1.背景
近期项目上出现了一台Linux服务器无法登录SSH,无论通过SSH远程登录还是通过直连服务器都无法登录至系统,系统报Permission denied,如图所示。
通过终端访问:
通过SSH远程访问:
有朋友会怀疑是不是输错了密码,实际上不是,因为密码错误会提示密码问题,如下:
2.故障分析
由于是一台物理主机,非虚拟化,首先向项目负责人确定服务器是否有主机管理方式(Dell如iDrac),希望通过管理口判断服务器硬件是否有异常,答案是否定的。
因此在不重启服务器的情况下,通过各种方式尝试登录到系统,均无办法,最后约定重启维护时间进行维护。
对问题进行了以下可能性分析:
1)SSH配置文件配置异常,如禁用了root用户等,但系统无普通用户,因此无法登录。
2)用户锁定,但隔了一晚上,系统仍然无法登录,且锁定应有提示。
3)重启通过急救模式进行故障处理。
3.故障处理
由于系统是CentOS 7操作系统,在约定的维护时间内,通过重启服务器的方式进入到救援模式。(建议在终端下使用 Ctrl + Alt + Del的方式重启,避免暴力重启引起二次故障)。
在系统启动时,快速按下e
在显示的内容中,找到ro并修改为rw init=/sysroot/bin/sh
修改后
改完之后,按下Ctrl + x 进入急救模式。
在急救模式下,尝试过重置root密码和检查ssh配置均无法处理,于是想到了日志检查。
chroot /sysroot
# 查看系统安全日志
vim /var/log/secure
根据经验可知,unlimit、soft/hard等通常是配置于/etc/security/limits.conf文件中,于是查看配置文件的配置状况。
发现有人为的新配置,对新配置进行注释,对系统进行重启。
# 退出交互环境
exit
# 重启系统
reboot
再次登录终端,发现系统正常登录,问题得到解决。
来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。
暂不支持手机端,请登录电脑端访问