MENU

终于解决了SSH拒绝授权的问题!

• December 2, 2022 • Read: 752 • 码农养成中

> ssh: permission denied
从昨天晚上开始,我就一直被这个问题所困扰。
折腾了一整天终于找到了解决方法!
查看 /var/log/secure的安全日志,发现好多不认识的 ip 发现报错:
Authentication refused: bad ownership or modes for directory /root/.ssh/authorized_keys
这是文件/文件夹的权限配置出了问题。
到底出了什么问题呢?
经过漫长的折腾,又傻又憨的我终于明白:
root所有者:www
我去,我 root 用户怎么所有者不是 root 而是 www??(而且权限也没给对)
错误的权限以及所有者
/root的子目录也有问题,这里可以断定我之前搞东西时的某个操作错误地更改了 /root及其子目录的权限以及所有者。

于是我就在宝塔面板手动修改 /root的所有者,结果面板弹出警告:不要花式作死
确实把我吓一跳,考虑许久后决定在面板自带的终端更改权限,在终端输入 chmod 755 /root -R,但是终端没有任何反应。。

这里感谢一下这篇文章 https://blog.51cto.com/u_12295205/3131503 的作者,多亏了他分享的经历我才能解决今天的问题。

使用文章中的方法:在配置正确的服务器中通过输入以下命令获取到保存了正确权限配置的文件 ac1.bck

getfacl -R /root -p > /tmp/acl.bak

说个题外话,这个“配置正确的服务器”是我去 vultr 租的,本来只是随便去 vultr 看看,结果登陆后发现账户里竟然有十几刀。
vultr balance

上次用 vultr 应该是三四年前的事了吧。

通过宝塔把这个文件下载下来然后在上传给之前的那个服务器的/tmp,然后在终端输入以下内容:

setfacl --restore /tmp/acl.bak

测试 shh 密钥登录:
Terminal片段

恢复成功,大功告成! - u -

Last Modified: August 18, 2023