首页/安全/安全加固速查/authorized_keys 权限与目录加固
口令与认证策略55 条

authorized_keys 权限与目录加固

OpenSSH 对密钥文件权限敏感:.ssh 700、authorized_keys 600、属主正确,否则密钥静默失效或被同机用户读取。

安全加固速查安全更新于 2026-10-13

权限与密钥认证的关系

OpenSSH 对密钥相关文件的权限要求严格。StrictModes 默认开启时,家目录、.ssh 目录或 authorized_keys 的权限与属主不规范,会直接拒绝密钥认证,现场表现是“密钥没错但登不上”。反方向的危险同样存在:只要目录对同机其它用户可写,低权账号就能往 authorized_keys 里追加自己的公钥,从而以该用户(可能是 root 或运维账号)身份登录。

基本信息

适用平台Linux(OpenSSH;RHEL/CentOS/Debian/Ubuntu 通用)
推荐权限家目录 700、.ssh 700、authorized_keys 600
属主要求属主为该用户,属组为其主组
关键开关sshd_config 中 StrictModes yes(默认值)
排障日志/var/log/secure(RHEL 系)或 /var/log/auth.log(Debian 系)

典型使用场景

  • 批量修复:一次性把所有家目录与密钥文件权限改为标准值
  • 巡检发现:用 find 扫描权限过宽的 .ssh 目录与密钥文件
  • 登录排障:密钥登录失败时优先检查权限与严格模式报错
  • 权限回收:账号停用或交接时清理 authorized_keys 中的历史公钥
  • 安全评估:确认同机低权用户无法篡改他人的密钥配置

批量修复与核查

批量修复与核查
chmod 700 /home/*/.ssh /root/.ssh
chmod 600 /home/*/.ssh/authorized_keys /root/.ssh/authorized_keys
for h in /home/* /root; do [ -d "$h/.ssh" ] && ls -ld "$h/.ssh" "$h/.ssh/authorized_keys" 2>/dev/null; done
# 只列权限过宽的项,便于逐条处置:
find /home /root -maxdepth 3 -name '.ssh' -perm /077 -ls 2>/dev/null
chown -R user:user /home/user/.ssh    # 属主与属组一并确认
awk 'NR==1{print $0}' /var/log/secure 2>/dev/null | head -1

权限组合读法

对象与权限含义风险与表现
.ssh 700仅本人可进入标准值,配合 StrictModes 可正常登录
.ssh 755 或 777他人可读或可写可读取私钥内容或注入公钥,高危
authorized_keys 600仅本人可读写标准值
authorized_keys 644他人可读泄露账号可登录的公钥信息
家目录 700仅本人可进入过宽会连带使整个 .ssh 目录暴露
StrictModes yes 时权限不规范会直接拒绝认证:登录失败先看日志里是否出现 bad ownership 或 permissions,比反复重试有效得多。

落地要点

  • 修复用 find 批量扫权限过宽项,比人工逐台 ls 更可靠也更快
  • 家目录本身也要检查:只改 .ssh 而家目录仍为 777 时防护形同虚设
  • 属主属组一起核对,权限对而属主错同样会被严格模式拒绝
  • authorized_keys 内容纳入盘点:确认每条公钥都有归属人
  • 把权限核查做成定时任务,输出异常清单而不是每天全量人工确认
ACL 也属于权限的一部分:getfacl 抽查一次,避免八进制权限合规但 ACL 额外放开了其他人的访问。

易错点

  • chmod 777 的 .ssh 目录在大批量脚本里很常见:用 find 定期扫描比依赖人工检查可靠
  • 只改 .ssh 不看家目录:家目录权限过宽时攻击者可直接整体替换 .ssh
  • 改权限时使用 chmod -R 并算错掩码:把私钥改成不可读,密钥登录全部失效
  • 忽略目标用户 home 的上级目录权限:排查要从 home 一路查到 authorized_keys

数据来源与参考

  • man 8 sshd(StrictModes)
  • CIS Benchmark:SSH 文件权限条目

相关工具

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