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

| 项 | 内容 |
|----|------|
| 日期 | 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.username`、`ssh_key_presets.username`（默认 root）
- `pending_servers`：domain、port、attempts、last_error、last_attempt_at 等

## 安全

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

## 验收

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