温馨提示×

centos ssh权限错误为何

小樊
50
2026-09-02 16:41:13
栏目: 智能运维

在 CentOS 上遇到 SSH 权限错误,通常是因为 SSH 对文件和目录权限非常严格,一旦权限不对,sshd 会直接拒绝使用相关密钥或配置,从而导致登录失败或被拒绝。

下面按常见原因 → 现象 → 解决方法说明。


一、最常见原因:.ssh 目录或密钥权限不对

1️⃣ .ssh 目录权限错误

要求:

chmod 700 ~/.ssh

错误示例:

drwxr-xr-x .ssh   # 755 ❌

现象:

  • 公钥登录失败
  • 日志中出现:
Authentication refused: bad ownership or modes for directory /home/user/.ssh

2️⃣ authorized_keys 权限错误

要求:

chmod 600 ~/.ssh/authorized_keys
chown user:user ~/.ssh/authorized_keys

错误示例:

-rw-rw-r-- authorized_keys   # 664 ❌

3️⃣ 私钥权限错误(客户端)

要求:

chmod 600 id_rsa

错误示例:

-rw-r--r-- id_rsa   # 644 ❌

现象:

WARNING: UNPROTECTED PRIVATE KEY FILE!

二、家目录权限问题(容易被忽略)

家目录不能对其他用户可写

要求:

chmod 755 /home/user

错误示例:

drwxrwxrwx /home/user   # 777 ❌

日志:

Authentication refused: bad ownership or modes for home directory

三、SELinux 导致 SSH 权限错误(CentOS 特有)

现象

  • 权限看起来正常
  • 但仍无法登录
  • /var/log/secure 中有奇怪的 permission denied

解决

restorecon -Rv ~/.ssh

或临时测试:

setenforce 0

四、sshd 配置文件权限问题

/etc/ssh/sshd_config

  • 属主必须是 root
  • 权限不能过松
chown root:root /etc/ssh/sshd_config
chmod 600 /etc/ssh/sshd_config

五、常见错误日志位置

/var/log/secure
journalctl -u sshd

典型错误:

Permission denied (publickey)
bad ownership or modes
Authentication refused

六、一键修复脚本(常用)

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chown -R $USER:$USER ~/.ssh
restorecon -Rv ~/.ssh

七、如果你想让我精准判断

你可以贴出:

  1. 报错信息(客户端 + 服务端)
  2. ls -ld ~ ~/.ssh ~/.ssh/authorized_keys
  3. /var/log/secure 相关日志

我可以直接告诉你是哪一条权限错了。

0 踩