CentOS 配置 SSH 免密登录失败,常见原因和排查思路如下(按出现频率排序):
~/.ssh/authorized_keys600chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
.ssh 目录权限不对chmod 700 ~/.ssh
chown -R user:user ~/.ssh
即使权限对,SELinux 也可能拦截
restorecon -Rv ~/.ssh
或临时验证:
setenforce 0
检查 /etc/ssh/sshd_config:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
修改后重启:
systemctl restart sshd
chmod 755 ~
不能是 777
PermitRootLogin no)ssh-keygen -t rsa
不要加密码(直接回车)
在客户端测试并看详细错误:
ssh -v user@host
重点看:
Offering public keyPermission denied (publickey)在服务端看日志:
tail -f /var/log/secure
ls -ld ~ ~/.ssh ~/.ssh/authorized_keys
restorecon -Rv ~/.ssh
systemctl status sshd
如果你愿意,可以把下面信息发我,我可以精确判断:
ssh -v 的输出/var/log/secure 相关报错cat /etc/redhat-release)