Mihomo 设置密码:修改 secret 并验证控制面板登录
简答:Mihomo 的控制面板/API 密码不是节点密码,而是配置文件中的 secret 字段。先找到实际生效的 config.yaml,在 external-controller 同级修改 secret,保存后按当前部署方式重启或重新加载 Mihomo,再用新的 secret 重新连接面板。本文只讲 Mihomo 控制器密码,不覆盖节点账号密码、订阅密码或其他客户端的登录设置。
定义:Mihomo 的 secret 是用于保护 external-controller REST API 的访问密钥,控制面板连接 Mihomo 时应填写它,而不是代理节点配置里的 password。
先试这三步:找到配置、修改 secret、重新连接
如果你已经能打开 Mihomo 控制面板,但不知道密码写在哪里,优先按下面顺序处理。不要先改节点、DNS 或代理端口,因为这些通常与控制器认证无关。
- 确认实际生效的配置文件。检查 Mihomo 的启动参数、服务管理器、容器挂载目录或桌面客户端的当前配置页面,确认正在运行的进程究竟读取哪一个
config.yaml。同一设备上可能同时存在多个配置文件,改错文件时不会产生任何效果。 - 在控制器配置附近修改
secret。配置项通常与external-controller同级,示例为:
官方配置文档将external-controller: 127.0.0.1:9090 secret: "请替换为新的随机长字符串"secret定义为 API 访问密钥,并将external-controller定义为 REST API 监听地址,可参考 Mihomo 配置文档。 - 让配置重新生效。保存前先备份原文件,然后根据你的启动方式重启 Mihomo,或使用客户端提供的配置重载功能。若重载后仍提示旧密码,先完全退出并重新启动,再在面板中删除旧连接并重新添加控制器地址与新 secret。
停止条件:如果你无法确认哪个配置文件正在使用,不要连续修改多个文件;先从启动日志、启动参数或容器挂载关系确认配置来源。验证边界:文件保存成功不等于 Mihomo 已读取,面板能打开也不等于 API 认证已经使用新密码。
secret 和节点 password 不是一回事
| 配置内容 | 作用 | 修改它解决什么问题 |
|---|---|---|
secret | 保护 Mihomo 的 external-controller/API | 控制面板提示密码错误、API 未授权 |
节点或代理配置中的 password | 作为某类代理协议或入站的认证信息 | 对应节点连接或协议认证失败 |
| 订阅链接中的账号信息 | 用于获取订阅内容或鉴权 | 订阅下载失败、订阅过期或返回未授权 |
官方示例把 secret 放在 external-controller 配置附近,并说明它用于 API 的 Bearer 认证;因此,面板密码应填写 secret 的值,而不是从节点名称、服务器地址或节点 password 字段中猜测。相关字段可对照 Mihomo 配置示例。
如果你使用的是独立面板,面板通常需要填写 Mihomo 控制器地址和 secret。MetaCubeXD 的说明也明确要求将 Mihomo 地址与 secret 配对填写;它连接的是 Mihomo 的 Clash API,而不是代理节点本身。可参考 MetaCubeXD 使用说明。
YAML 修改示例与写法注意事项
下面是结构示例,只展示与密码相关的最小配置,不是可直接运行的完整配置。请保留你原文件中的其他字段,不要为了设置密码而覆盖整个配置。
# 结构示例:请先备份原 config.yaml
external-controller: 127.0.0.1:9090
secret: "change-this-to-a-new-secret"
- 保持缩进。
secret应与external-controller对齐,不要缩进到其他对象下面。 - 字符串建议加引号。如果密码包含冒号、井号、井号后空格、花括号、方括号或开头特殊字符,使用双引号或单引号,并检查引号是否成对。
- 不要把真实密码发布到日志、截图或教程。本文示例值仅用于说明格式,不能当作你的实际密码。
- 不要顺手把监听地址改成所有网卡。官方文档说明,将
127.0.0.1改为0.0.0.0会让控制器监听所有 IP;如果确实需要局域网访问,应同时限制防火墙、访问范围和 CORS,而不是只设置密码。
改动后先保存备份,再只修改 secret 一项。若 Mihomo 无法启动,立即恢复备份文件,避免把密码问题扩大成配置解析问题。
Windows、Linux 与容器部署怎么确认改的是正确文件
不同安装方式没有统一的配置路径,因此不建议直接照抄网上固定目录。应以当前启动方式确认实际配置来源。
- Windows:查看快捷方式或启动器参数、客户端的配置管理页面和运行日志,确认当前活动配置文件;修改后完全退出 Mihomo,再重新启动。
- Linux 服务:查看服务单元中的启动命令和工作目录,重点确认是否通过参数指定了配置目录;修改后重启对应服务,并查看启动日志是否出现配置解析错误。
- Docker 或其他容器:先确认宿主机目录与容器内配置文件的挂载关系。只修改容器内临时文件,容器重建后可能丢失;修改宿主机挂载文件后,再重启容器。
- 路由器或嵌入式设备:通过设备当前运行配置、启动脚本或管理界面确认文件位置。若设备使用生成配置,直接编辑生成结果可能会在下一次保存或重启时被覆盖。
可观察结果:重启后查看 Mihomo 日志,确认进程正常运行;随后使用控制器地址和新 secret 重新连接面板。若配置解析失败,优先恢复备份,而不是继续尝试登录。
修改后仍提示密码错误:按现象分流
面板能打开,但提示密码错误
先检查是否填写了新 secret,以及面板保存的是否仍是旧连接信息。删除旧连接后重新添加,避免浏览器或面板保留旧凭据。若仍失败,回到启动日志确认当前进程读取的配置文件。
面板显示无法连接,而不是密码错误
这不一定是密码问题。先确认控制器地址、监听端口和网络可达性,再检查是否存在跨源访问限制。官方面板文档说明,当面板地址与 Mihomo API 地址属于不同来源时,需要在 external-controller-cors 中允许面板的准确来源;浏览器开发者工具 Console 可用于观察 CORS 报错。
改完后 Mihomo 无法启动
优先检查 YAML 缩进、引号和重复字段。恢复备份后只改一项,再重新启动。不要把“面板登录失败”和“内核启动失败”混为同一个故障。
本机能连,局域网设备不能连
检查 external-controller 是否仍只监听本机回环地址。若要让其他设备访问,需综合检查监听范围、防火墙、路由器访问控制和 CORS;不要为了测试长期开放到所有网卡。官方文档还提醒,某些 Unix socket 或 Windows Named Pipe 的访问路径不验证 secret,更应依赖系统权限和网络隔离。
安全收尾:改密码后做一遍自查
- 确认旧 secret 不再用于面板连接。
- 确认新 secret 没有出现在公开截图、日志分享或配置仓库中。
- 确认
external-controller没有在不必要的情况下监听所有网卡。 - 如果面板跨来源访问,只允许实际使用的面板来源,不要无条件使用通配符。
- 保留修改前备份,确保下次升级或迁移时能够回滚。
本文资料核验时间为 2026 年 11 月 1 日;Mihomo 的字段和面板行为可能随版本或发行方式变化,遇到版本差异时应优先查看当前版本配置文档和启动日志。
相关使用指南
如果你已经完成 Mihomo 密码设置,下一步通常是确认客户端或网络链路是否真正可用:可以先阅读网络错误排查步骤,再根据需要查看网络连接变慢的分层排查方法;如果你使用的是其他内核,也可以参考sing-box DNS 设置与解析排查。这些页面分别处理连接、速度和 DNS 问题,不与本文的控制器密码设置重复。
常见问题
Mihomo 设置密码要改哪个字段?
改配置文件中的 secret 字段。它应与 external-controller 同级,用于保护 Mihomo 的控制器/API。
Mihomo 修改 secret 后需要重启吗?
通常需要让配置重新加载;如果当前部署没有可靠的热重载入口,直接完全重启 Mihomo 更容易确认配置已经生效。重启前先备份配置。
secret 和节点 password 有什么区别?
secret 是控制面板/API 的访问密钥;节点 password 通常属于具体代理协议或入站认证。面板密码错误时不要优先修改节点 password。
为什么改了密码,面板还是提示旧密码错误?
常见原因是改错了配置文件、配置没有重新加载、面板保存了旧连接信息,或 Mihomo 实际读取的是生成配置。请先确认启动参数和日志,再删除旧面板连接并用新 secret 重新添加。
把 external-controller 改成 0.0.0.0 后就能远程使用吗?
不应只改监听地址。这样会扩大监听范围,还需要同时检查防火墙、访问控制和 CORS;只在确有局域网访问需求时使用,并尽量限制来源。