记一次服务器无法通过public Key登录

Posted by hebicheng on May 7, 2021

前一天还好好的服务器突然无法登陆了,怎么办?

背景故事

今天同学给我发了个截图

图片

服务器突然无法登陆了,提示说用户密钥未在远程主机上注册。看到这个消息的我有点慌,难道是服务器被人黑了,然后删除了我们的公钥?我赶紧访问该服务器上的服务,还好,服务是正常的(松口气~)。

那是什么原因导致的登录不上的问题呢,难道是五一放假,机房断了电,导致存放公钥的文件损坏了?不会这么巧吧,我这样想着。由于我们关闭了密码登录,所以当前我们没有直接登录服务器的办法了。难道要去机房插个显示器直接解决吗,想着繁杂的机房作业申请流程,嘴角流下了眼泪。就在我纠结要不要鼓动别人去申请机房的时候,突然想起这台机器是ESXI管理的,嘿嘿嘿。于是我反手打开了ESXI的Web控制台,进入了出问题的服务器。(所以当你的服务器配置比较高的时候,使用一些虚拟工具比如ESXI来安装系统还是有好处的,一方面可能多分几台虚拟服务器,充分利用资源,另一方面又可以更方便的使用远程工具进行服务器管理)

解决过程

首先查看了authorized_keys文件,没有问题呀,公钥都在那里好好的。

重新创建authorized_keys文件! 不行。

重启一下ssh服务再试试! 不行。

重启一下服务器试试! 不行。

又百度了一下,.sshauthorized_keys的权限也正常,咋回事儿呢?莫名其妙啊。然后不经意间看了一下用户目录是绿色的,777权限,用户目录怎么会是777权限呢。随后查了下ssh对用户目录的要求,找到了!”不能超过755”,然后修改用户目录,再试,可以登陆了。嘿嘿嘿。

后来问那个同学,发现是他在搭ftp服务时,按着教程无意识的就把用户目录权限给改了,嗯,好吧。所以以后搭类似ftp的服务时请添加新用户来操作!

原创作品,转载请注明来源 https://hebicheng.github.io