一、验证密钥文件完整性
密钥文件损坏或格式错误是导致远程登录失败的常见原因。需依次执行以下步骤:
- 确认客户端密钥文件(如
id_rsa
)存在于默认路径~/.ssh/
- 使用
ssh-keygen -l -f
命令验证密钥指纹是否与服务器端记录一致 - 尝试重新生成密钥对并重新部署到服务器
二、检查权限设置
- 客户端密钥文件权限应设为600(仅用户可读写)
- 服务器端
.ssh
目录权限需为700,authorized_keys
文件权限应为600 - 用户主目录权限不得高于755,过高权限会导致SSH服务拒绝连接
三、核对服务器SSH配置
检查服务器/etc/ssh/sshd_config
文件中的关键参数:
- 确认
PubkeyAuthentication yes
已启用 - 验证
AuthorizedKeysFile
路径与实际存储位置一致 - 检查
PasswordAuthentication
是否设为no
(推荐设置)
修改配置后需执行systemctl restart sshd
使设置生效
四、处理密钥冲突问题
当客户端存在旧密钥记录时可能引发验证冲突:
- 使用
ssh-keygen -R [服务器IP]
清除已知主机记录 - 检查服务器端是否存在多个重复的公钥记录
- 通过
ssh -v
查看详细调试信息定位具体错误
密钥登录失败需系统性地排查客户端与服务器端配置。建议遵循权限最小化原则,使用ssh -v
调试模式可快速定位认证失败阶段,定期轮换密钥可提升系统安全性
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/590203.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。