首页/系统/Linux 运维命令速查/场景:SSH 登录失败排查(认证被拒)
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条
日志与排查40 条
systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:SSH 登录失败排查(认证被拒)

SSH 提示 Permission denied (publickey,password):按 认证方式 → 权限 → 日志 三层排查,sshd -T 直接读出生效配置。

Linux 运维命令速查系统更新于 2026-10-12
场景无法 SSH 登录服务器
目标定位认证链失败点
工具链sshd -T → 服务日志 → 客户端 -vvv

第 1 步:在服务端读出生效配置

第 1 步:在服务端读出生效配置
sshd -T | grep -E 'passwordauthentication|pubkeyauthentication|permitrootlogin|authorizedkeysfile|allowusers|denyusers'

第 2 步:看服务端日志

第 2 步:看服务端日志
journalctl -u sshd -n 50 --no-pager
tail -n 50 /var/log/secure    # RHEL 系

第 3 步:客户端调试连接

第 3 步:客户端调试连接
ssh -vvv user@host 2>&1 | tail -n 60

第 4 步:常见文件检查

第 4 步:常见文件检查
ls -ld /home/user /home/user/.ssh
ls -l /home/user/.ssh/authorized_keys    # 权限应为 600/authorized_keys 目录 700
restorecon -Rv /home/user/.ssh 2>/dev/null || true
服务端 sshd -T 的输出才是实际生效值(含 Include 合成结果),比翻配置文件准确。

易错点

  • 家目录或 ~/.ssh 权限过宽(group/other 可写)时 sshd 会静默拒绝密钥,日志提示 Authentication refused: bad ownership
  • SELinux 上 authorized_keys 的上下文不对同样被拒,restorecon 修复后再试

数据来源与参考

  • man 5 sshd_config
  • man 8 sshd
  • OpenSSH 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌