Skip to content
Linux 基础与服务器治理 · 第 7 篇 / 共 7 篇
领域运维与部署
专题Linux 与服务器治理专题
当前序列Linux 基础与服务器治理
阅读位置第 7 篇 / 共 7 篇当前专题第 1 个序列 / 共 4 个序列

SSH 权限问题排查清单:.ssh、私钥、公钥和目录权限该怎么配

SSH 登录失败时,权限问题是最常见的原因之一。尤其是服务端开启了严格权限检查后,只要某个关键文件权限不对,就可能直接拒绝登录。

先说最常见的正确权限

客户端本地常见权限

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

含义:

  • ~/.ssh:当前用户可读写执行
  • 私钥文件:只允许当前用户读写
  • 公钥文件:可以适当更宽松,一般 644 即可

服务端常见权限

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

这通常是最稳妥的配置。

一个需要修正的常见误区

原始笔记里提到“上级目录也应该是 700”,这个说法不一定要这么绝对。

更准确的理解是:

  • ~/.ssh 必须足够安全
  • 私钥和 authorized_keys 必须足够安全
  • 用户 home 目录不一定必须是 700
  • 但 home 目录如果对其他用户可写,就容易触发 SSH 的安全拒绝

所以更实用的排查重点是:

  • .ssh 目录权限是否过宽
  • authorized_keys 是否可被其他用户写入
  • 私钥文件是否暴露

典型排查顺序

如果 SSH 登录失败,可以按这个顺序看:

1. 先看目录权限

bash
ls -ld ~/.ssh

2. 看关键文件权限

bash
ls -l ~/.ssh

重点关注:

  • authorized_keys
  • id_rsa
  • id_ed25519

3. 修权限

bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

4. 看属主是否正确

bash
chown -R $USER:$USER ~/.ssh

如果属主不对,权限正确也可能没用。

服务端还要看什么

如果你已经确认权限没问题,但还是登录失败,还要继续看:

  • sshd_config 里是否禁用了密钥登录
  • AuthorizedKeysFile 配置是否改过
  • 日志里是否提示权限或认证失败

例如:

bash
sudo tail -f /var/log/auth.log

很多时候,日志会直接告诉你是:

  • 权限不对
  • 文件不存在
  • 公钥没匹配上
  • 登录方式被禁用

一句话总结

SSH 权限问题最实用的排查重点只有三个:

  • .ssh 目录够不够安全
  • 私钥和 authorized_keys 权限对不对
  • 文件属主和服务端配置有没有问题

先把这三项查清楚,绝大多数 SSH 权限问题都能定位到。

延伸阅读相关文章优先当前专题,再补跨专题关联。
同一序列 · 回看前文会更完整服务器初始化清单适合把磁盘、权限、链接、systemd、日志和服务器初始化这些基础能力集中起来看。Linux 与服务器治理专题 · Linux 基础与服务器治理同一序列 · 回看前文会更完整Linux 日志切割怎么做更稳适合把磁盘、权限、链接、systemd、日志和服务器初始化这些基础能力集中起来看。Linux 与服务器治理专题 · Linux 基础与服务器治理同专题其他序列 · 共享标签:线上排障、案例排障文件描述符打满时怎么快速定位适合把 CPU、IO、网络连接、抓包和 cgroup 限制放在同一条 Linux 排查主线上看。Linux 与服务器治理专题 · Linux 系统资源与网络排查同专题其他序列 · 共享标签:线上排障、案例排障ss、netstat、lsof 怎么配合排查端口问题适合把端口排查、防火墙和特殊权限位放在一起看。Linux 与服务器治理专题 · Linux 网络与权限安全细节跨专题关联 · 共享标签:线上排障、案例排障磁盘打满后为什么删除文件不一定立刻生效适合把 Redis 抖动、MySQL 连接打满、MQ 积压、ES 发黄、ClickHouse 合并堆积和磁盘打满放在同一条基础设施排障主线上看。数据与基础设施排障专题 · 数据与基础设施故障的分层排查跨专题关联 · 共享标签:线上排障、案例排障大 Header、buffer、timeout 问题怎么排查适合把 location 匹配、缓冲区和负载均衡放在一起看。容器与站点部署专题 · Nginx 进阶路由与代理治理
继续阅读Linux 基础与服务器治理当前序列第 7 篇 / 共 7 篇当前专题第 1 个序列 / 共 4 个序列
往前看
上一篇服务器初始化清单回到当前序列上一章上一序列AI 协作流程与治理从第 1 篇开始:把 AI 接进开发流程
往后看
下一序列Linux 性能分析与系统时钟从第 1 篇开始:进程、线程和 load average 怎么一起理解

把零散经验整理成可查、可复用、可持续更新的企业级知识门户