feat(M2): SSH 密钥管理 — 公钥上传/重命名/吊销、authorized_keys 原子同步与吊销即时失效
- KeyService:crypto/ssh 解析校验(单行/类型/长度/去重指纹,拒 ssh-dss 与 RSA<2048), Create/Rename/Revoke/List,变更后以 DB 状态全量重写 authorized_keys(同步失败回滚) - system 层:SyncAuthorizedKeys 完善 —— sudo 模式经白名单命令(mkdir/chown/chmod/install) 落位并修正属主(sshd StrictModes),direct 模式 root 时同样修正属主;dry-run 计划日志 - API:GET/POST /me/keys、PATCH/DELETE /me/keys/:id(user 会话)、GET /users/:id/keys(admin), 密钥操作带审计;deploy/sudoers.example 补充密钥同步白名单 - 版本 0.3.0-m2;测试:service 单元(校验/生命周期/回滚/权限)、system 直写落盘、 API 全流程集成;容器 E2E 32 项 PASS(真实 useradd/authorized_keys/吊销即时失效/禁用清空/删除回收)
This commit is contained in:
+1
-1
@@ -44,7 +44,7 @@ password = ""
|
||||
from = "usernode@example.com"
|
||||
|
||||
[system]
|
||||
sudo = false # 生产 true:经 sudo -n 执行 useradd/usermod/userdel/passwd(需 deploy/sudoers)
|
||||
sudo = false # 生产 true:经 sudo -n 执行白名单命令(账号生命周期 + authorized_keys 同步,需 deploy/sudoers)
|
||||
dry_run = true # 开发演练 true:只打印计划命令不执行;false 且 sudo=false 时直接执行(容器/测试用户验证)
|
||||
user_prefix = "ext_" # 外部用户系统账号统一前缀
|
||||
group = "external" # 外部用户统一组
|
||||
|
||||
Reference in New Issue
Block a user