密钥不匹配或过期
当客户端保存的主机密钥与服务器实际密钥不一致时,会触发验证失败。常见于服务器重装系统或迁移实例后。解决方法包括:
- 使用
ssh-keygen -R 服务器IP
清除本地旧密钥记录 - 重新生成密钥对并更新到腾讯云控制台密钥管理
权限设置问题
密钥文件权限配置不当会导致验证失败,需检查以下文件权限:
- 客户端私钥文件权限设为600
- 服务器端
~/.ssh
目录权限设为700 authorized_keys
文件权限设为600
服务器配置错误
检查服务器SSH配置文件/etc/ssh/sshd_config
:
- 确认
PubkeyAuthentication yes
已启用 - 添加
PubkeyAcceptedAlgorithms +ssh-rsa
兼容旧算法 - 重启SSH服务
systemctl restart sshd
SSH版本兼容性问题
新版OpenSSH默认禁用部分加密算法:
$ ssh -V
$ sudo sshd -T | grep pubkey
若发现算法不兼容,需在配置文件中显式声明支持的算法类型
网络或服务状态异常
排除基础环境问题:
- 检查安全组规则是否开放22端口
- 使用
telnet 服务器IP 22
测试端口连通性 - 确认服务器SSH服务正常运行
systemctl status sshd
通过系统化的故障排查流程,可快速定位密钥验证失败的根本原因。建议优先检查本地密钥记录和文件权限,再逐步排查服务器配置与网络环境。定期更新密钥对并遵循最小权限原则,可有效提升SSH连接安全性。