# AMT 设备添加功能说明 ## 功能概述 在设备管理的设备列表页面,增强了"新增设备"功能,支持通过 Intel AMT(Active Management Technology)协议自动发现和添加设备。 ## 功能特性 ### 1. 两种添加方式 #### 手动添加 - 传统的手动输入设备信息方式 - 需要手动填写设备名称、UUID、IP地址、MAC地址等信息 #### AMT 自动添加 - 通过 AMT 协议自动发现设备 - 只需输入 IP 地址和认证信息 - 自动获取设备名称、MAC 地址等信息 - 自动生成 UUID ### 2. 认证方式 #### 直接输入 - 手动输入 AMT 用户名和密码 - 适合临时测试或一次性添加 #### 使用已保存凭证 - 从"AMT 设置"页面选择已保存的凭证 - 支持默认凭证快速选择 - 提高安全性和便捷性 ### 3. 连接测试 - 提供"测试连接"按钮 - 验证 AMT 连接是否可用 - 测试成功后自动获取设备信息 - 显示连接状态反馈 ## 技术实现 ### 后端实现 #### 1. AmtDigestService.java - 使用 WS-Management 协议与 AMT 设备通信 - 支持 Digest 认证(HTTP Digest Auth) - 实现设备信息获取和连接测试 #### 2. 主要接口 **测试 AMT 连接** ``` POST /device/amt/test { "ipAddress": "192.168.1.100", "username": "admin", "password": "password" } 或 { "ipAddress": "192.168.1.100", "credentialId": 1 } ``` **获取 AMT 设备信息** ``` POST /device/amt/getInfo { "ipAddress": "192.168.1.100", "username": "admin", "password": "password" } ``` #### 3. WS-Management 协议 使用标准的 SOAP over HTTP 协议: - 端口:HTTP 16992, HTTPS 16993 - 认证:HTTP Digest Authentication - 协议:WS-Management (WSMAN) ### 前端实现 #### 1. 设备列表页面增强 - 添加方式选择(单选按钮) - AMT 设备发现表单 - 认证方式切换(开关) - 凭证选择下拉框 - 测试连接按钮和状态显示 #### 2. 用户交互流程 1. 点击"新增设备"按钮 2. 选择"AMT 自动添加"方式 3. 输入 IP 地址 4. 选择认证方式: - 手动输入:填写用户名和密码 - 使用凭证:从下拉框选择已保存的凭证 5. 点击"测试连接" 6. 连接成功后,自动填充设备信息 7. 确认并保存设备 ## 使用说明 ### 前置条件 1. AMT 设备已启用并配置 2. AMT 设备网络可达 3. 已知 AMT 管理员账号密码 4. (可选)在"AMT 设置"中预先保存凭证 ### 操作步骤 1. **进入设备列表页面** - 导航到:设备管理 > 设备列表 2. **点击新增设备** - 点击页面右上角的"新增设备"按钮 3. **选择 AMT 自动添加** - 在弹出的对话框中选择"AMT 自动添加"单选按钮 4. **输入 AMT 设备信息** - IP 地址:输入 AMT 设备的 IP 地址 - 认证方式: - 方式一:切换到"手动输入",填写用户名和密码 - 方式二:切换到"使用已保存凭证",从下拉框选择凭证 5. **测试连接** - 点击"测试连接"按钮 - 等待测试结果 - 成功后会显示绿色的"连接成功"标签 6. **确认设备信息** - 系统自动填充设备名称、UUID、IP地址、MAC地址 - 可以修改设备名称和备注 - 选择设备状态 7. **保存设备** - 点击"确定"按钮保存设备 ### 注意事项 1. **网络连接** - 确保服务器能够访问 AMT 设备的 16992 端口 - 检查防火墙设置 2. **AMT 配置** - AMT 设备必须已启用并配置 - 确认 AMT 管理员账号可用 3. **安全性** - 建议使用已保存的凭证而不是每次手动输入 - 定期更新 AMT 密码 4. **错误处理** - 连接失败时会显示具体错误信息 - 常见错误: - 网络不可达 - 认证失败 - AMT 未启用 ## 文件清单 ### 后端文件 - `backend/src/main/java/com/soybean/admin/service/AmtDigestService.java` - AMT Digest 认证服务 - `backend/src/main/java/com/soybean/admin/dto/AmtTestRequest.java` - 测试请求 DTO - `backend/src/main/java/com/soybean/admin/dto/AmtDeviceInfo.java` - 设备信息 DTO - `backend/src/main/java/com/soybean/admin/controller/DeviceController.java` - 设备控制器(已更新) ### 前端文件 - `src/views/device/list/index.vue` - 设备列表页面(已更新) - `src/service/api/device.ts` - 设备 API(已更新) - `src/typings/api/device.d.ts` - 设备类型定义(已更新) ### 工具文件 - `rebuild_and_test_amt.bat` - 重新编译和测试脚本 - `AMT_DEVICE_ADD_FEATURE.md` - 本说明文档 ## 测试建议 1. **单元测试** - 测试 AMT 连接功能 - 测试设备信息获取 - 测试凭证集成 2. **集成测试** - 使用真实 AMT 设备测试 - 测试不同的认证方式 - 测试错误处理 3. **用户测试** - 测试完整的添加流程 - 验证用户体验 - 收集反馈 ## 未来改进 1. **批量发现** - 支持 IP 段扫描 - 批量添加多个设备 2. **更多设备信息** - 获取 CPU、内存等硬件信息 - 获取 AMT 版本信息 - 获取设备序列号 3. **高级功能** - 支持 TLS 加密连接 - 支持证书认证 - 支持 Kerberos 认证 4. **监控集成** - 定期检查设备状态 - AMT 事件日志收集 - 设备健康度监控 ## 故障排除 ### 问题:连接超时 **原因**:网络不可达或防火墙阻止 **解决**: - 检查网络连接 - 确认防火墙规则 - 验证 AMT 端口 16992 是否开放 ### 问题:认证失败 **原因**:用户名或密码错误 **解决**: - 确认 AMT 管理员账号 - 重置 AMT 密码 - 检查凭证配置 ### 问题:无法获取设备信息 **原因**:AMT 未完全配置或版本不兼容 **解决**: - 检查 AMT 配置状态 - 确认 AMT 版本 - 查看 AMT 日志 ## 参考资料 - [Intel AMT SDK Documentation](https://software.intel.com/sites/manageability/) - [WS-Management Protocol](https://www.dmtf.org/standards/ws-man) - [Intel vPro Technology](https://www.intel.com/content/www/us/en/architecture-and-technology/vpro/vpro-technology-general.html)