当前位置: 首页 > news >正文

Ubuntu SSH 强制密钥登录:配置不生效的排查与修复

Ubuntu SSH 强制密钥登录:配置不生效的排查与修复


症状
修改PasswordAuthentication yes并重启sshd,客户端仍报Permission denied (publickey)

根因
sshd 运行时配置由多个文件合并决定,云镜像默认配置往往被/etc/ssh/sshd_config.d/50-cloud-init.conf中的PasswordAuthentication no覆盖,或存在AuthenticationMethods限制。


排查步骤

1. 查看 sshd 运行时生效值

sudosshd-T|grep-E'passwordauthentication|authenticationmethods|kbdinteractiveauthentication'

要求:

  • passwordauthentication yes
  • authenticationmethods输出为空(无任何限制)
  • kbdinteractiveauthentication yes

任何一项不符,继续。

2. 定位冲突配置文件

sudogrep-rn"PasswordAuthentication\|AuthenticationMethods"/etc/ssh/sshd_config /etc/ssh/sshd_config.d/

常见冲突源:/etc/ssh/sshd_config.d/50-cloud-init.conf内含PasswordAuthentication no

3. 创建高优先级覆盖配置

sudotee/etc/ssh/sshd_config.d/99-password-auth.conf<<EOF PasswordAuthentication yes KbdInteractiveAuthentication yes EOF

若步骤 1 中发现authenticationmethods非空,追加一行以清空限制:

echo"AuthenticationMethods password"|sudotee-a/etc/ssh/sshd_config.d/99-password-auth.conf

4. 语法检查并重启服务

sudosshd-t&&sudosystemctl restartssh

5. 确认用户密码可用

sudopasswd-S<username>

状态必须为P(密码已设置)。若为L(锁定),执行sudo passwd -u <username>;若为NP(无密码),执行sudo passwd <username>

6. 验证客户端支持的认证方式

ssh-oPreferredAuthentications=password-vuser@host

输出中应出现Authentications that can continue: password


常见错误与处理

  • AuthenticationMethods publickey强制密钥
    → 在步骤 3 覆盖为AuthenticationMethods password或直接注释原文件行。

  • KbdInteractiveAuthentication no导致 PAM 密码认证失效
    → 步骤 3 已覆盖。

  • 用户密码未设置或锁定
    → 步骤 5 解决。

  • sshd -T仍显示passwordauthentication no
    → 检查/etc/ssh/sshd_config.d/下文件名的排序,确保99-文件最晚加载。可用sudo sshd -T | grep -B1 passwordauthentication观察来源文件(需 root 权限查看)。


恢复密钥认证(运维后必做)

sudorm/etc/ssh/sshd_config.d/99-password-auth.confsudosystemctl restartssh
http://www.gsyq.cn/news/1604790.html

相关文章:

  • DICOM图像核心参数实战指南:从像素到诊断的精准度量
  • 亿元合家欢动画《悟空大圣》正式定档7月24日暑期上映
  • 2026 降AIGC工具实测盘点:值得体验,毕业党生存手册
  • 【云原生与DevOps】03-K8s生产环境部署Checklist:你踩过这18个坑吗
  • Python操控AutoCAD完全指南:5个实战技巧提升设计效率
  • 从矩阵运算到密码实践:深入理解Hill密码的加解密机制
  • BiliTools终极指南:如何用跨平台工具箱高效管理B站资源
  • .NET DES加密实战:从原理到安全实现的完整指南
  • SAP FI 实战解析:会计凭证冲销与反记账的配置与报表影响
  • 【紧急预警】ChatGPT Plus个人账户额度正被动态收紧!3类高危使用行为触发自动降额(附2024Q2真实审计日志)
  • 办收据登报挂失多钱?收据登报挂失怎么办理?遗失声明怎么写
  • SQL注入核心原理与实战:数字型、字符型、搜索型注入深度解析
  • 从选型到实战:深入解析瓷片电容在电路设计中的核心应用
  • 全栈接口测试实战指南:从工具选型到自动化框架构建
  • 深入解析MSP-GANG430量产编程器底层协议与DLL API开发指南
  • SetDPI:3步掌握Windows命令行DPI调整的终极方案
  • MTEX工具箱:材料科学家必备的晶体学纹理分析利器
  • 3步实现Gmail账号自动化生成:告别繁琐手动注册的Python解决方案
  • 【课程设计/毕业设计】基于 SpringBoot+Vue 的考勤数据统计分析系统 企业员工日常出勤管控服务平台设计与实现【附源码、数据库、万字文档】
  • 信用卡拒付率高达83%?ChatGPT Plus国内订阅的5大支付陷阱,金融级风控专家亲授合规替代方案
  • TVS管实战选型指南:从关键参数到电路防护设计
  • 三分钟快速上手:哔咔漫画下载器终极指南,打造个人永久漫画库
  • HOG+SVM:从特征提取到行人检测的经典实践
  • 企业级应用逻辑漏洞挖掘实战:从越权访问到业务安全防御
  • 移动端API签名逆向实战:从抓包到算法还原的完整方法论
  • 即插即用 | 重塑跨维度交互,GAM注意力机制在ResNet上的实战优化(附完整代码)
  • 鼎阳示波器软件选件权限深度解析与升级实践
  • 科研绘图告别手动调参!Okbiye 一站式 AI 制图,分档额度适配全学科论文出图
  • 5分钟彻底解决Windows更新故障:Reset Windows Update Tool实战手册
  • 不用啃 SPSS!Paperxie 一站式数据分析模块,打通实证论文数据全流程落地