问题现象描述
用户使用密钥登录京东云主机时,可能遇到包含以下特征的报错信息:Permission denied (publickey)
、Authentication refused: bad ownership or modes
或Host key verification failed
。这些错误通常发生在密钥文件权限配置不当、SSH服务配置异常或文件系统权限错误的情况下。
常见错误原因
- 密钥文件权限过大(非600权限)
- .ssh目录权限非700
- SSH配置文件参数异常(如PubkeyAuthentication禁用)
- SELinux安全策略限制
分步解决方案
-
检查密钥文件权限:执行
chmod 600 ~/.ssh/authorized_keys
确保密钥文件仅所有者可读写,使用ls -l
验证权限。 -
修正目录权限:对
~/.ssh
目录设置700权限,执行chmod 700 ~/.ssh
,同时检查上级目录(如/root)权限是否为550。 -
验证SSH配置:编辑
/etc/ssh/sshd_config
文件,确认包含以下配置项:PubkeyAuthentication yes
、AuthorizedKeysFile .ssh/authorized_keys
。 -
重启SSH服务:执行
systemctl restart sshd
使配置生效,并通过ssh -vvv user@host
查看详细调试日志。
最佳实践建议
- 定期使用
ssh-keygen -l -f keyfile
验证密钥完整性 - 避免使用root账户直接登录,建议创建普通用户操作
- 启用双因素认证增强安全性
- 使用ED25519算法生成密钥对替代传统RSA
SSH密钥权限问题可通过规范的权限设置(文件600/目录700)、正确的SSH服务配置以及安全策略调整来解决。建议在京东云主机部署完成后立即进行权限基线检查,并建立定期审计机制,可有效预防90%以上的密钥认证故障。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/548923.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。