记一次Centos账号密码被锁踩坑记录

踩坑背景

       这次事件是一个公司项目中的服务器,刚好这台服务器是映射到公网,提供开发在远程部署相关应用,所以把这台服务器的22端口映射到了公网的1022端口,作为链接内外网的一个跳板。前两天接到开发的反馈说服务器无法远程登陆了,因为这台服务器才映射出来不到两天,我直接用XSehll链接的时候就不允许连接了,但是先链接到内网中另外一台机器以后,再通过这台机器去连接它又可以,所以我一开始怀疑是不是开发谁改了密码,也就没去管它,直到发文前一天,开发联系我说这台服务器在内网其他机器SSH过去都被拒绝访问了!提示Permission denied!没办法了,只有跑到现场去看究竟是什么原因,结果就开始了入坑之旅!!!

踩坑过程

坑点一、重置密码

       到达现场以后,首先跑去运营商机房管理员借了一个显示器就往机房里面跑,以为问题不大,无非就是远程SSH无法连接而已,先本地登录看下究竟是什么原因,重置一下SSH配置文件啥的就能够解决问题,当时的心态和思路是这样的。。。。。

在这里插入图片描述

       然而,接下来的事情并不是这么简单,到达机房迫不及待的连接上服务器以后,输入账号密码,结果特么还是提示登录失败,也没说具体原因,当时我特么心态就变这样了啊。。。。。

在这里插入图片描述

       好吧,既然都这样了,系统里面开发又丢了一些部署应用的数据包进去,也不能说直接给它重装了,然后就捣鼓重置密码吧,然后就是各种花里胡哨的研究(这点确实是自己太菜了,确实没搞过Linux密码重置),然后经过各种研究以后,参考这位老哥的帖子https://www.cnblogs.com/dongml/p/10333819.html
重置了密码,到这里,我的心态都还是这样的。。。。

在这里插入图片描述

       然后,就是重启服务器,等待激动人心的时刻,又到了输入账号密码的地方,当我开开心心的输入账号密码后,得到的结果却是这样。。。。。。

在这里插入图片描述

       哇,我特么当时心态就炸了啊,说好的重置密码以后就可以解决问题呢,说好的一起愉快的装逼呢,当时我就懵圈了,还在群里就这个问题问了一遍,当时团长和几位老哥都说是SSH问题,好吧,折腾了半天,不是密码被修改了,一开始我还以为是密码被谁修改了,以为换个密码就解决问题,现在看来只有接着折腾!
##坑点二、SSH问题
       既然各位老哥都说了可能是SSH配置文件有问题,那行,我就看下SSH配置文件呗!结果懵逼的是,我现在进不去系统,怎么才能够像windows那样进入安全模式下修改相关配置文件呢?然后就是各种百度!不过说实在的,这种问题,还真不好百度到,确实很少见,这也是我发这篇帖子的原因之一,万一以后哪位老哥遇到类似的问题呢?经过我一阵瞎折腾以后,终于找到一篇文章,和我的问题基本一样的,链接如下:https://www.cnblogs.com/qjfoidnh/p/11616561.html,但是这位老哥留了两个坑点在这儿(可能究其原因还是自己太菜,可能对于老运维老哥来说这些都是基常操),一是SSH配置文件在单用户模式下面怎么修改?二是根据后来的验证,pam参数不是在ssh_config文件中,而是在sshd_config文件中!!!
       后来我折腾了半天后想了一下,参考前面那位修改密码的老哥的文章,还是先进入单用户模式,然后挂载磁盘可读写,然后进行相关文件操作,具体命令如下:

#mount –o remount,rw /sysroot      挂载磁盘可读写
#chroot /sysroot            进入sysroot
#vim /etc/ssh/sshd_config                   修改SSH配置文件

       可以修改SSH配置文件以后,根据留坑这位老哥的文章,我尝试着修改了sshd_config配置文件中的pam参数,把它改为no以后重启服务器,然后开开心心的尝试SSH登陆,OJ8K,果然是这个问题导致的SSH无法远程登录。然后回头看了一下本地登录,结果发现还是发现无法登陆,不过这次提示的倒是不说权限不够的问题了,而是这样:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LJBeEBLz-1599888253227)(https://s1.ax1x.com/2020/09/12/waZGLD.th.png)]

       (此截图是后来登录以后查看日志的截图,原始图片就没有要了本地登录牌照的不清晰,提示是一样的)就提示报错这个
ould not set limit for ‘nofile’: Operation not permitted然后百度了一下,发现修改用户可打开的文件数就可以解决该问题,但是这里有一个问题是内核能够打开的文件数量不能够小于用户能够打开的文件梳理,这个问题产生的原因也是因为APM模块,待会儿总结复盘的时候细说,然后就修改内核文件修改/etc/sysctl.conf增加:

fs.file-max =***
fs.nr_open = ***

       即可修改内核的配置,修改完成后,再修改用户能够打开的文件数量 /etc/security/limits.conf

* soft nofile ***
* hard nofile ***

       然后重启系统,再次尝试本地登录系统,果然能够成功登录,到此所有问题解决。
#复盘总结
       把上述问题都解决以后,我详细的去了解了一下Linux系统的中pam模块,发现这是一个用户认证模块,可以控制用户登录的相关信息,比如用户登录错误次数限制!但是这其中有问题,我知道正确密码,即使输入错误也不可能输入错误这么多次,想到这里,我感觉不太对接,马上去查看系统登录日志,然后就看到了这玩意儿:

在这里插入图片描述

       (截图为发文日截图,前一天的日志忘记截图了)经过分析查看日志发现,有个憨批一在尝试爆破这台服务器的密码,因为这台服务器的22端口映射到公网的,所以一直有憨批在爆破。

       至此,所有问题明了了,就是因为这个憨批一直在爆破这台服务器密码,导致触发了SSH配置文件中的PAM模块的限制功能,锁死了root用户远程登录,但是这里有个问题解释不通的是本地也被锁死了,后来经过查看pam.d发现,本地也是因为PAM模块锁死了root用户导致了本地也无法登录。经此一役,掉了一圈坑以后发现还是绕回安全问题上面来了,建议以后各位兄弟在遇到类似的问题,可以直接在单用户模式中,直接清除掉账号错误次数即可搞定该问题,APM的功能就是为了保证用户安全的,能用建议还是大家使用上!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值