Linux CentOS 5 SSH 用户权限被拒绝

Linux CentOS 5 SSH 用户权限被拒绝

今天,当我尝试通过 SSH 连接到我的服务器时,我收到一条权限被拒绝的消息(与 相同sftp)。它以前运行良好,我没有更改任何服务器设置,除了我试图修改一些文件夹chown权限。

根用户可以ssh/sftp没有问题。

(对于root用户来说,没有.ssh/authorized_keys文件,只有一个.ssh/known_hosts文件。对于普通用户来说,主文件夹没有.ssh文件夹)。

答案1

你说你有root权限。以 root 身份 ssh 到该盒子,看看到底是什么原因造成的。检查主日志文件/var/log/messages

保持此命令tail -f /var/log/messages在终端中运行,并以普通用户身份通过​​ ssh 连接到服务器。查看日志文件中的条目。

答案2

听起来您可能已经更改了 ~/.ssh 目录和/或 ~/.ssh/authorized_keys 文件的权限。或者可能使您的主目录组或世界可写。

~/.ssh 应为 700 (drwx------) 并且 ~/.ssh/authorized_keys 应为 600 (-rw--------)。

~/.ssh 中的私钥文件(id_rsaid_dsa等)也应该是 600。公钥文件( 、 等)的权限id_rsa.pub不太id_dsa.pub严格 - 它们可以是世界可读的。

所有这些文件和目录都应归您的用户所有。

如果您的主目录是全局可写的,并且在 sshd_config 中设置了 StrictModes(默认为“yes”),那么 sshd 将不会信任主目录下的任何内容(包括 ~/.ssh 和其中的所有内容),因为全局可写的 home 目录意味着系统上的任何用户都可以创建或修改这些文件。

我不确定 Centos 上的 sshd 如何处理组可写的主目录,但如果您的主目录是组可写的,则同样可能适用 - 组中的任何用户都可能创建/更改了 ~/.ssh 文件。 (IIRC Debian 的 sshd 配置为允许组可写主目录,因为 Debian 的 adduser 传统上会创建一个每个用户的组只有用户是其中的成员)

相关内容