SSH 密钥管理

SSH 密钥用于登录与自动化:私钥通常放 ~/.ssh 且权限 600,authorized_keys 600、目录 700;按用途生成独立密钥并定期轮换,禁用密码登录前先验证密钥渠道可用。

加密与证书速查安全更新于 2026-10-13

远程登录密钥管理

远程登录密钥用于身份认证与自动化:私钥通常放在用户目录下并限制为仅属主可读,服务端的授权文件与目录也要收紧权限。按用途生成独立密钥并定期轮换,是控制影响面的基础。停用口令登录前必须先验证密钥渠道可用,否则可能把自己锁在门外。

基本信息

权限基线私钥仅属主可读,授权文件与目录同样收紧
算法选择优先现代椭圆曲线算法,使用 RSA 时长度不低于 3072 位
治理按用途与主机拆分密钥,加口令,必要时集中管理
顺序先验证密钥登录可用,再停用口令登录

典型使用场景

  • 自动化部署:为持续集成与部署账号使用专用密钥
  • 多人运维:按人分密钥,便于审计与撤销
  • 轮换:人员变动或疑似泄露时更换密钥
  • 加固:停用口令登录前的准备与验证
  • 审计:核对授权文件中的来源限制与命令限制

生成与核查

生成与核查
ssh-keygen -t ed25519 -C 'deploy@ci'                      # 生成现代算法密钥
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys ~/.ssh/id_ed25519
ssh-keygen -lf ~/.ssh/id_ed25519.pub                       # 查看指纹
ssh -o PreferredAuthentications=publickey -o BatchMode=yes host true   # 验证可用

权限基线

对象权限说明
私钥仅属主可读写权限过宽会被拒绝或造成泄露
授权文件仅属主可读写写入他人公钥即授予访问
用户目录仅属主可访问目录权限过宽会导致认证失败
授权文件中的来源限制与命令限制可降低密钥被滥用的影响面,但启用前需测试确认不影响业务,否则会造成认证失败。

落地建议

  • 按用途与主机拆分密钥,避免一把密钥通行全部环境
  • 私钥加口令,敏感环境使用代理或集中管理
  • 定期核对授权文件中的条目并清理失效公钥
  • 把密钥轮换纳入例行运维
先停用口令登录再验证密钥登录,是把自己锁在门外的典型顺序错误;正确顺序是先确认密钥可登录,并在同一会话中保留一条已建立的连接作为退路。

易错点

  • 同一密钥用于全部服务器与全部用途,泄露后全面暴露
  • 先停用口令登录再验证密钥登录,导致自己无法登录
  • 私钥权限过宽,认证被拒或密钥被其他用户读取
  • 授权文件长期不清理,离职人员的公钥仍可登录
  • 把私钥放进镜像或代码仓库,随分发扩散

数据来源与参考

  • OpenSSH 手册(ssh-keygen / authorized_keys)
  • NIST IR 7966(SSH 密钥管理)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌