一、检查密钥文件权限
SSH密钥认证失败往往与文件权限设置不当直接相关,建议按以下步骤排查:
- 确认私钥文件权限是否为600:执行命令
chmod 600 your_private_key
修复权限 - 检查
~/.ssh
目录权限是否为700,避免其他用户访问 - 验证公钥是否完整写入
authorized_keys
文件,且文件权限设置为644
二、验证SSH服务配置权限
SSH服务配置文件中的权限设置可能导致登录失败,需重点检查:
- 在
/etc/ssh/sshd_config
文件中确认:PermitRootLogin
是否允许对应登录方式StrictModes
是否设置为yes(严格检查文件权限)
- 配置文件修改后需执行
systemctl restart sshd
重启服务
三、排查系统用户权限
操作系统层面的用户权限问题可能阻断SSH连接,建议执行以下检查:
- 确认登录用户是否被加入
/etc/passwd
且shell配置正确 - 检查用户主目录所有权,避免root用户创建的文件无法被普通用户访问
- 通过
/etc/sudoers
文件验证用户权限分配是否合理
排查SSH登录权限问题需从密钥文件、服务配置、系统用户三个维度进行交叉验证。建议优先检查authorized_keys
文件权限及密钥匹配性,再逐步排查服务配置参数与用户权限设置。通过分步验证可快速定位问题根源,确保安全策略与访问权限的平衡。