비밀번호 · API 키 변경
Edge 의 자격증명은 초기값이 모든 박스에서 같습니다. 커미셔닝 때 한 번 바꾸고 끝냅니다.
Platform · AI · Studio 는 bin/passwd.sh 라는 회전 도구로 바꿉니다. Edge 에는 그 도구가
없습니다. Edge 는 자격증명이 전부 app.properties 의 설정 키라, 다른 설정값과 똑같이
화면에서 고치고 재시작합니다.
초기값은 어디에 있나
설치가 끝나면 출하용 요약 파일이 한 번 생성됩니다.
sudo cat /etc/kopens/credentials.txt
| 항목 | 값 |
|---|---|
| 권한 | 0600, root:root — root 만 읽습니다 |
| 생성 시점 | install.sh 최초 실행 시 1회 |
| 담긴 것 | 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://<게이트웨이-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 '<새비번>'
./config.sh --set edge.rest.api.key '<새키>'
./config.sh --set mqtt.server.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: <새키>" https://<게이트웨이-IP>/api/v1/system/status
/etc/kopens/env.sh.generated(0600)에는 설치 시 결정된 값이 export ADMIN_PASS=...
형태로 남아 있습니다. 재설치·업그레이드가 app.properties 를 다시 만들 때는 기존
app.properties 의 값을 먼저 읽어 보존하므로, 화면·파일에서 바꾼 값이 업그레이드로
되돌아가지는 않습니다.
다만 사이드카 자체는 갱신되지 않으니, 그 파일의 값도 초기값으로 보십시오.