Files
Nexus/docs/design/specs/2026-06-06-credential-polling-pending-servers-design.md
T
Nexus Deploy 4ba45abf38 feat(servers): 凭据轮询登录与连接失败列表
- 密码/SSH密钥预设增加用户名;快速添加(IP)轮询全部预设尝试 SSH 登录
- 成功入 servers 列表;失败写入 pending_servers 并支持重试/删除
- 新增 credential_poller、try_ssh_login 与 add-by-ip/pending API
2026-06-06 20:08:48 +08:00

1.1 KiB
Raw Blame History

凭据轮询登录与连接失败列表

内容
日期 2026-06-06
状态 已实施

背景

运维批量添加子机时,每台机器需尝试多组账号密码/密钥。原密码预设仅含密码、用户名在服务器表单单独填写,添加时不做 SSH 探测。

方案

  1. 密码/SSH 密钥预设增加 username 字段。
  2. POST /api/servers/add-by-ip:仅 IP,顺序轮询全部预设,try_ssh_login 验证。
  3. 成功:创建 servers 行,connectivity=ok,记录命中预设。
  4. 失败:写入 pending_servers,前端弹窗 + 失败列表展示,支持重试/删除。

数据模型

  • password_presets.usernamessh_key_presets.username(默认 root
  • pending_serversdomain、port、attempts、last_error、last_attempt_at 等

安全

  • 轮询明文仅在内存;落库 Fernet 加密;失败摘要不含完整密码/私钥。

验收

  • 凭据页可维护用户名
  • 快速添加(IP) 轮询成功入 servers 列表
  • 全失败入 pending 列表,重试重新轮询全部预设