密码·API密钥变更
Edge 的凭据在所有设备上初始值都相同。在调试期间更改一次即可完成。
Platform · AI · Studio 使用 bin/passwd.sh 这个轮换工具进行更改。Edge 没有这个工具。
Edge 的凭据全部是 app.properties 中的配置密钥,因此与其他配置值一样,
在界面上修改后重新启动即可。
初始值在哪里
安装完成后,出厂摘要文件会生成一次。
sudo cat /etc/kopens/credentials.txt
| 项目 | 值 |
|---|---|
| 权限 | 0600、root:root — 仅 root 可读取 |
| 生成时间 | install.sh 首次执行时生成一次 |
| 包含内容 | UI登录 · REST API密钥 · MQTT · OPC UA · TSE · keystore密码 |
此文件是出厂前输出一次,随密封箱一并发送用的。并非放置在设备上的文件。 更改所有凭据后,请将其移至运营保险库(vault),并从设备上删除。
此文件不会跟随更改后的值。它保留了安装时的初始值, 因此在更改密码后若以此文件为准,会看到旧值。
更改哪些内容
| 密钥 | 内容 | 初始值 |
|---|---|---|
edge.admin_password | UI登录密码 (admin) | admin123! |
edge.rest.api.key | REST API 认证密钥 (X-API-Key / Bearer) | 固定默认值 |
mqtt.server.password | 内置 HiveMQ 代理 (Sparkplug 发送) | edge123! |
opc.ua.server.password | OPC UA 服务器 (北向) | edge123! |
server.api_key | 平台集成令牌 | 安装时注入 |
ai.api.key | AI 功能密钥 | 空 |
tse.server.password | 内置时序引擎(TSE) | tse123! |
前六个会在环境配置界面中显示。 tse.server.password 不在界面上显示,需在
配置文件中修改。
不要更改用户名 — edge.admin_user、mqtt.server.user 等保持不变,
仅更改密码是基本运维。
方法 ① 在界面上更改(更改一两个时)
- 使用
https://<gateway-ip>/ui/main登录 - 右上角齿轮图标(
fa-cog) → 环境配置 (/ui/system/config) - 在相应选项卡中找到密钥并输入新值 — 上述表中的所有密钥均以密码输入框形式
呈现(
edge.admin_password连眼睛图标也没有,值不会显示在界面上) - 点击右上角保存(
fa-save) - 重新启动 — 仅保存不会生效
保存仅是将内容写入 app.properties 文件。运行中的进程持有启动时的值,
因此必须重新启动才能加载新值。 界面上的重启不会终止容器,
仅重新启动 Tomcat(需30~90秒)。
详细信息请参阅重启。
方法 ② 使用命令更改(调试 — 批量更改)
bin/config.sh 可以更改密钥。可一次更改多个,最后只需重新启动一次,
因此调试时此方法更快。
cd /opt/kopens/install/bin
./config.sh --get edge.admin_password # 현재 값 확인
./config.sh --set edge.admin_password '<new-password>'
./config.sh --set edge.rest.api.key '<new-key>'
./config.sh --set mqtt.server.password '<new-password>'
./config.sh --diff # 직전 백업과 비교
./config.sh --restart # 마지막에 한 번만
不附带参数执行时会打开编辑器编辑文件,并在保存后询问是否重新启动。
每次更改都会自动生成 app.properties.bak.YYYYMMDD_HHMMSS 备份。
2026.08-20260825 及以上版本使用在此之前的版本的 config.sh --set 会静默地丢失值。 它通过将真实文件替换为兼容
符号链接并指向 sed -i,导致修改无法被应用,且会在下次重启时被覆盖。
"显示已更改但没生效"的症状源于此。
请确认设备上运行的镜像标签 — IMAGE_TAG 是正版。
grep '^IMAGE_TAG=' /etc/kopens/version.env
如果版本较低,请使用以下方法 ③(直接编辑)或在界面上更改。
方法 ③ 直接编辑文件
配置文件的正本是一个真实文件。
sudo vi /etc/kopens/conf/app.properties
sudo systemctl restart plantpulse-edge.service
conf/ 中的真实文件| 路径 | 说明 |
|---|---|
/etc/kopens/conf/app.properties | 正本真实文件 — 应用通过 -Dpe.conf.dir 直接读取 |
/etc/kopens/app.properties | 符号链接 — 指向上述文件的便捷名称 |
用编辑器打开符号链接会修改真实文件,因此 vi 使用哪个都行。但
自己创建的 sed -i 脚本会删除符号链接并在原位置创建一个新的普通文件。
这样修改后的内容会保存在 /etc/kopens/app.properties 中,而应用读取的 conf/app.properties
仍是旧值,导致保存了但什么都没变的状态。
(使用 sed -i --follow-symlinks 可以避免这种情况。)
修改后请确认内容确实写入了真实文件。
grep '^edge.admin_password' /etc/kopens/conf/app.properties
验证
# 실파일에 새 값이 들어갔는지
sudo grep -E '^(edge.admin_password|edge.rest.api.key|mqtt.server.password)' \
/etc/kopens/conf/app.properties
# UI 로그인 — 새 비밀번호로 접속되는지
# REST API — 새 키로 통과하는지 (키가 «필요한» 경로로 확인한다)
curl -k -H "X-API-Key: <new-key>" https://<gateway-ip>/api/v1/opc # 200
curl -k -H "X-API-Key: 틀린키" https://<gateway-ip>/api/v1/opc # 401
/api/v1/system/* 无法验证密钥/api/v1/system/health、/ready、/version 和 /api/health 是无需认证即可访问的
路径(REST API)。即使密钥填入任意值也会返回 200,
因此无法确认"密钥已更改"。必须像上述那样使用错误密钥确认返回 401,
才算验证完成。
/etc/kopens/env.sh.generated(0600)中保存了安装时确定的值,以 export ADMIN_PASS=...
形式存在。重新安装或升级会重新生成 app.properties 时,会先读取现有
app.properties 的值并保留,因此在界面或文件中更改的值不会因升级而被还原。
但 Sidecar 本身不会刷新,因此该文件中的值也应视为初始值。
相关文档
- 安装后立即检查 — 调试步骤
- Web UI 环境配置 — 可在界面上更改的所有密钥
- 重启 — 生效方法
- 运营准备检查 — 出厂前确认清单