ssh密钥安全策略核心是“密钥可信、访问可控、使用可管”,需从生成、分发、部署、权限、轮换五个环节闭环管理:选ed25519或rsa 4096位算法并设强passphrase;私钥本地chmod 600且禁上传;公钥部署后确保目录700、文件600权限及带限制选项;服务端禁密码登录、禁root直连、按ip/用户白名单放行;密钥按用途标注有效期,生产环境90天强制轮换。

SSH 密钥安全策略的核心是“密钥可信、访问可控、使用可管”。不能只生成一对密钥就完事,必须从生成、分发、部署、权限、轮换五个环节建立闭环管理,否则再长的密钥也形同虚设。
密钥生成:选对算法,设好强度
优先使用 Ed25519 算法(OpenSSH 6.5+ 支持),它比 RSA 更快更安全;若需兼容老旧设备,选用 RSA 4096 位,避免低于2048位。生成时务必添加强密码短语(passphrase),包含大小写字母、数字和符号,长度不少于12位。命令示例:
ssh-keygen -t ed25519 -C "admin@prod-server-2026"ssh-keygen -t rsa -b 4096 -C "backup@cluster"
私钥保管:本地权限严控,禁止明文暴露
私钥文件(如 id_ed25519)必须严格限制访问权限:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- Linux/macOS:执行
chmod 600 ~/.ssh/id_ed25519 - Windows(使用 OpenSSH):右键属性 → 安全 → 仅保留当前用户“读取”权限
- 绝对不提交到 Git、不上传网盘、不邮件发送、不截图分享
- 建议用
ssh-agent或终端内置密钥代理管理,避免反复输入密码短语
公钥部署:服务端权限与内容双重校验
公钥(id_ed25519.pub)部署到服务器后,需同步满足三项条件:
-
~/.ssh目录权限为700(drwx------) -
~/.ssh/authorized_keys文件权限为600(-rw-------) - 每行公钥末尾可追加选项增强控制,例如:
command="/usr/bin/git-shell",no-port-forwarding,no-X11-forwarding ssh-ed25519 AAAA... user@host
服务端加固:禁用弱机制,收紧登录入口
在 /etc/ssh/sshd_config 中落实以下配置并重载服务:
-
PubkeyAuthentication yes(启用密钥认证) -
PasswordAuthentication no(禁用密码登录,确认密钥可用后再启用) -
PermitRootLogin no(禁止 root 直接登录) -
AllowUsers deploy@10.10.20.0/24 ops@192.168.1.100(按用户+源IP精确放行) -
MaxAuthTries 3和ClientAliveInterval 300(防爆破+自动断连)
生命周期管理:定期审计与强制轮换
密钥不是一次生成终身有效。应建立运维规范:
- 所有密钥标注用途与过期时间(如写在注释
-C "ci-deploy-2026-q3"中) - 生产环境密钥有效期建议设为 90 天,CI/CD 临时密钥不超过 7 天
- 每月运行脚本检查
authorized_keys中未标注、超期或重复公钥 - 轮换时先新增密钥、验证可用,再删除旧条目,全程留痕记录










