🔍 错误本质解析
当您看到:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
这并非“公钥本身有问题”的误导性提示,而是 SSH 服务器明确告知已尝试括号内列出的所有认证方式,但全部失败。
publickey 位列首位,说明服务器期望使用密钥认证,但因配置、权限或内容问题未能通过验证。
🧩 根本原因全景图(按发生频率排序)
🔒 服务器端高频原因
问题类别 具体表现 危险等级
文件权限错误 ~/.ssh 目录权限 >700;authorized_keys 权限 ≠600;家目录含组/其他写权限 ⚠️⭐⭐⭐⭐⭐
文件所有权错误 .ssh 或 authorized_keys 不属于目标用户 ⚠️⭐⭐⭐⭐
authorized_keys 内容问题 公钥格式错误、换行断裂、多余空格、编码异常 ⚠️⭐⭐⭐⭐
sshd_config 配置错误 PubkeyAuthentication no;AuthorizedKeysFile 路径错误 ⚠️⭐⭐⭐
SELinux/AppArmor 限制 安全策略阻止读取密钥文件(常见于 RHEL/CentOS) ⚠️⭐⭐
用户环境问题 /etc/passwd 中家目录路径错误;磁盘空间耗尽 ⚠️⭐
💻 客户端常见疏漏
私钥文件权限非 600(SSH 客户端会拒绝使用)
未通过 -i 指定正确私钥:ssh -i ~/.ssh/id_custom user@host
私钥与服务器 authorized_keys 中的公钥不匹配
本地 SSH 配置(
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



