root突然无法使用publickey登录

原因是使用了gogs,用了root启动,造成了问题。

使用linux那么长时间了,确实没出现过这样的问题,所以进行排查:

1、网上说是selinux的问题,使用命令getenforce查看了状态,也不是。

2、比如sshd_config,也不是。

3、目录下的pam.d限制,也不是。

4、authorized_keys文件权限问题,也不是。

没有人从根源上把问题给解决了,使用了ssh -v测试也看不出什么情况。后来想,那不如去看看ssh的认证情况吧,ssh -v看不懂,但是认证log(在/var/log/auth.log)还是知道的。看了才知道原来是这样:

Mar 21 19:22:54 c1 sshd[560941]: Authentication refused: bad ownership or modes for directory /root

Mar 21 19:22:54 c1 sshd[560941]: Connection closed by authenticating user root 192.168.3.28 port 49261 [preauth]

这个问题就很好解决了,权限不对,使用stat查看/root目录,gid变成了UNKNOW。

这个权限莫名其妙被改了,root目录的所属组不是root?

那么使用:

chown -R root:root /root

解决了问题。

这个事情花了2个小时让我吸取了教训,以后不能懒了,不能出现什么问题就百度谷歌,还是要从根源上查看日志,然后解决。

你可能感兴趣的:(ubuntu,linux,centos,macos)