远程登录密钥管理
远程登录密钥用于身份认证与自动化:私钥通常放在用户目录下并限制为仅属主可读,服务端的授权文件与目录也要收紧权限。按用途生成独立密钥并定期轮换,是控制影响面的基础。停用口令登录前必须先验证密钥渠道可用,否则可能把自己锁在门外。
基本信息
| 权限基线 | 私钥仅属主可读,授权文件与目录同样收紧 |
|---|---|
| 算法选择 | 优先现代椭圆曲线算法,使用 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 # 验证可用权限基线
| 对象 | 权限 | 说明 |
|---|---|---|
| 私钥 | 仅属主可读写 | 权限过宽会被拒绝或造成泄露 |
| 授权文件 | 仅属主可读写 | 写入他人公钥即授予访问 |
| 用户目录 | 仅属主可访问 | 目录权限过宽会导致认证失败 |
授权文件中的来源限制与命令限制可降低密钥被滥用的影响面,但启用前需测试确认不影响业务,否则会造成认证失败。
落地建议
- 按用途与主机拆分密钥,避免一把密钥通行全部环境
- 私钥加口令,敏感环境使用代理或集中管理
- 定期核对授权文件中的条目并清理失效公钥
- 把密钥轮换纳入例行运维
先停用口令登录再验证密钥登录,是把自己锁在门外的典型顺序错误;正确顺序是先确认密钥可登录,并在同一会话中保留一条已建立的连接作为退路。