2025-05-21 09:04:21
237

云主机SSH登录失败:如何解决公钥认证问题?

摘要
本文系统解析SSH公钥认证失败的五大原因,提供从密钥配置验证、权限修复、服务配置到日志排查的完整解决方案,涵盖新版OpenSSH算法兼容等常见问题。...

云主机SSH登录失败:公钥认证问题解决方案

公钥配置验证

确保客户端生成的公钥已完整上传至云主机的~/.ssh/authorized_keys文件,使用ssh-copy-id命令可避免手动复制导致的格式错误。同时需验证服务器端密钥存储路径是否与sshd_configAuthorizedKeysFile配置一致。

云主机SSH登录失败:如何解决公钥认证问题?

权限检查与修复

执行以下权限修复命令可解决90%的权限问题:

  1. chmod 700 ~/.ssh
  2. chmod 600 ~/.ssh/authorized_keys
  3. chmod 600 ~/.ssh/id_rsa(客户端私钥)

注意文件所有者需与登录用户完全匹配。

SSH服务配置

检查/etc/ssh/sshd_config关键配置项:

  • PubkeyAuthentication yes
  • PasswordAuthentication no
  • RSAAuthentication yes(旧版SSH)

修改后需执行systemctl restart sshd重启服务。

密钥类型支持

新版OpenSSH(8.8+)默认禁用ssh-rsa算法,可通过以下方式兼容:

PubkeyAcceptedAlgorithms +ssh-rsa
HostKeyAlgorithms +ssh-rsa

建议优先升级客户端使用ed25519等更安全的密钥类型。

日志排查方法

通过tail -f /var/log/auth.log实时查看认证日志,重点关注以下关键字:

  • Authentication refused
  • Failed publickey
  • key type mismatch

结合ssh -v开启调试模式可获取详细连接信息。

公钥认证失败多由配置链断裂导致,需系统性检查客户端密钥生成、服务器配置、权限设置、算法兼容性等环节。建议采用自动化部署工具管理密钥,避免手动操作失误。

声明:文章不代表云主机测评网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部