当前位置:论坛首页 > BUG提交 > Linux面板

AI Agent 自配置宝塔 MCP 服务失败报告

发表在 BUG提交2026-8-19 08:53 [复制链接] 1 387

一、问题概述

按照服务方提供的指令文档,尝试为 Hermes Agent 自动配置宝塔 MCP 服务、处理 TLS 证书、安装相关 Skills 并验证 MCP 连接。

执行过程中发现,下载的指令文档虽然包含 mcp_info.json 示例,但其中的 tls_cert 证书链被截断,无法完成安全配置和连接验证。

二、相关信息

  • 指令文档下载地址:http://120.55.*.*:8888/down/NagZBH46SQXw.md
  • 文档下载结果:成功
  • 下载文件大小:约 18 KB(实际 18767 bytes)
  • MCP 服务地址:已脱敏,仅保留服务端口和路径结构
  • TLS 要求:tls_required: true
  • Agent:Hermes Agent
  • 操作系统:Linux


安全说明:报告未包含完整 Bearer Token、证书 PEM 内容或其他敏感凭据。由于原始文档中的 Token 已暴露在传输内容中,建议服务方立即撤销并重新生成该 Token。

三、执行步骤与结果

1. 下载指令文档

执行结果:成功。


  1. HTTP 下载成功
  2. 文件已保存到本地临时文件
  3. 文件大小:18767 bytes
复制代码


2. 读取 mcp_info.json

按照文档要求,读取第 23–30 行的 JSON 示例。

已确认字段包括:

  • api_token
  • public_host
  • local_host
  • tls_required
  • tls_cert


执行结果:失败,停止后续操作。

3. 发现证书链被截断

原始文档第 29 行末尾包含明确的截断标记:


  1. -----BEGIN CERTIFICATE-----
  2. MIIFODCCAyCg...
  3. [truncated]
复制代码


该内容不是完整 PEM 证书链,无法通过 JSON 解析后得到完整证书文件。

4. 后续步骤

根据文档要求,后续应执行:

  • 保存完整 tls_cert
  • 配置信任证书
  • 写入 Hermes mcp_servers 配置
  • 下载并安装 Skills
  • 重启 Agent
  • 验证 MCP 工具发现和调用


由于证书链不完整,上述步骤均未执行。

四、错误信息

错误步骤

读取服务方提供的 mcp_info.json 示例时,tls_cert 字段不完整。

完整错误证据


  1. ... -----BEGIN CERTIFICATE-----\nMIIFODCCAyCg...
  2. [truncated]
复制代码


可能原因

  • 下载接口返回的文档内容被服务端截断。
  • 文档生成程序对长证书链设置了内容长度限制。
  • 服务方将摘要或示例误当成完整 mcp_info.json 返回。
  • 多张证书组成的完整链未全部写入文档。


五、影响

由于 tls_requiredtrue,缺少完整证书链可能导致:

  • self-signed certificate
  • unable to verify the first certificate
  • hostname/IP mismatch
  • MCP 客户端连接失败
  • 无法确认服务是否安全可信


在证书链不完整的情况下继续配置,可能导致使用不安全的 TLS 绕过方式,因此本次没有使用 NODE_TLS_REJECT_UNAUTHORIZED=0 等方式规避证书验证。

六、建议服务方修复

请服务方重新提供完整、可解析的 mcp_info.json,建议采用以下任一方式:

方案 A:提供独立 JSON 文件

直接提供一个可下载的完整文件,例如:

  1. https://example.com/mcp_info.json
复制代码


要求:

  • JSON 可被标准解析器完整解析
  • tls_cert 包含完整 PEM 证书链
  • 不包含 [truncated]... 等摘要标记
  • Token 建议设置有效期,并支持撤销和重新生成


方案 B:证书单独提供

mcp_info.json 与证书链拆分:

[code=JSON]
{
  "api_token": "已脱敏",
  "public_host": "https://服务器地址:8765/安全路径/mcp",
  "tls_required": true,
  "tls_cert_url": "https://example.com/mcp-chain.pem"
}
[/code]

方案 C:提供证书文件 SHA256

为便于校验,建议同时提供:

  • 证书链文件
  • SHA256 校验值
  • 证书有效期
  • 证书 SAN 列表


七、安全建议

原始文档中包含 Bearer Token。虽然本报告已经脱敏,但该 Token 已经出现在原始下载内容和聊天记录中,建议:

  • 立即撤销当前 Token。
  • 生成新的 Token。
  • 为 Token 设置有效期和最小权限。
  • 不要把真实 Token 直接放在公开论坛帖子中。
  • 发布论坛时仅保留前后少量字符,例如:


  1. btmcp_LmQk...NmZys
复制代码


八、结论

本次失败并非 MCP 服务端口无法访问,而是服务方提供的配置文档中 tls_cert 字段被截断,导致无法按原文档安全完成证书处理、MCP 配置和 Skills 安装。

当前状态:

  • 文档下载:成功
  • 配置文件完整解析:失败
  • 证书安装:未执行
  • Hermes MCP 配置:未修改
  • Skills 安装:未执行
  • MCP 连接验证:未执行


请服务方提供完整的 mcp_info.json 或完整证书链后,再继续执行配置流程。
使用道具 举报 只看该作者 回复
发表于 2026-8-19 08:57:14 | 显示全部楼层
我手动保存提供后仍不能执行:

已读取 `/home/ubuntu/mcp_info.json`。
但文件中的 `tls_cert` 仍然是截断内容,末尾包含:
```text
-----BEGIN CERTIFICATE-----
MIIFODCCAyCg...
[truncated]
```
因此它仍不是完整证书链,无法安全执行后续:
- 写入完整证书文件
- 配置 Hermes MCP
- 安装 Skills
- 连接并验证 MCP
当前已确认:
- JSON 结构可读取
- `api_token`、公网/内网地址、`tls_required` 字段存在
- Token 和证书内容不会在回复中泄露
- 未修改 Hermes 配置
- 未安装证书或 Skills
需要提供完整的 `tls_cert`,删除其中的 `... [truncated]` 占位内容后,才能继续执行。由于 Token 已经暴露在本地文件和对话中,也建议服务方重新生成 Token。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表