强制执行SSH密钥强一致性访问控制需覆盖全生命周期:统一ed25519/RSA4096密钥生成、强口令与命名规范;服务端禁用密码登录、限制授权命令与权限;密钥须绑定身份并关联HR/IAM系统;自动化审计日志、白名单校验及12个月轮换。
强制执行基于 SSH 密钥的强一致性访问控制,不是配完密钥就一劳永逸的事。它要求从密钥生成、分发、绑定身份、服务端策略到审计下线,每个环节都按统一标准落地,杜绝“各搞各的”。核心是让公钥不再只是登录凭证,而是可追溯、可验证、可管控的身份锚点。
禁止自由生成密钥,所有密钥必须通过标准化流程创建:
id_ed25519_devops-prod-2026,避免默认名导致混淆服务器不能只“接受公钥”,而要通过配置把公钥变成受控入口:
/etc/ssh/sshd_config 中启用关键策略:PubkeyAuthentication yesPasswordAuthentication noPermitEmptyPasswords noMaxAuthTries 3AllowUsers @groupname(配合系统组做白名单)git-shell 或 rssh,禁止交互式登录以外的操作~/.ssh/authorized_keys 中,每行公钥前添加限制指令,例如:no-port-forwarding,no-X11-forwarding,command="/usr/bin/git-shell -c "$SSH_ORIGINAL_COMMAND"" ssh-ed25519 AAAA... user@team
chmod 700 ~/.ssh,chmod 600 ~/.ssh/authorized_keys
公钥本身无业务含义,必须通过外部机制赋予角色和边界:
AllowGroups + Match User 配置段,实现按职能组分级授权main、prod 分支等关键资源,启用保护规则:仅允许特定公钥所属账户提交,且必须经 CI 检查+指定 reviewer 批准靠人工检查不可持续,需嵌入运维闭环:
authorized_keys,比对 LDAP/OAuth 用户状态,标记“未关联工号”或“超期90天未登录”密钥LogLevel VERBOSE),保留至少180天,字段包含:用户名、源IP、公钥指纹、登录时间、会话命令