확정입니다. 패키지가 명령 채널을 끈 채로 나갔습니다. systemctl show 결과에 활성 변수는 ingest용 9개뿐이고, 명령 채널 변수는 전부 주석 처리 되어 있습니다. 게다가 MIHO_ENROLL_URL / MIHO_ENROLL_TOKEN 은 주석으로도 없습니다. EnvironmentFile 도 없습니다. 그래서 sooke 는 처음부터 ingest만 하고 relay에는 접속 시도조차 안 한 겁니다.ㅇ 서버 쪽 enroll 토큰 발급 경로를 확인하겠습니다. Find bootstrap token and signing pubkey env names Find bootstrap token and signing pubkey env names Find bootstrap token and signing pubkey env names 완료 조치 — drop-in 으로 설정 유닛 파일을 직접 고치지 마세요. 패키지 재설치 때 덮어쓰이고, 유닛 파일은 보통 644라 enroll 토큰·PSK 키 같은 비밀값을 넣으면 노출 됩니다. drop-in + 별도 env 파일로 갑니다. ① 비밀값 파일 (0600) bash sudo install -d -m 0755 /etc/mihosrcd sudo tee /etc/mihosrcd/agent.env > /dev/null <<'EOF' MIHO_ENROLL_URL=https://<mihosocket-host>:<port> MIHO_ENROLL_TOKEN=<enroll 토큰> MIHO_SIGNING_PUBKEY=<signing-service Ed25519 공개키 base64> MIHO_POLICY_PATH=/etc/mihosrcd/policy.json EOF sudo chmod 0600 /etc/mihosrcd/agent.env ② drop-in bash sudo install -d -m 0755 /etc/systemd/system/mihosrcd.service.d sudo tee /etc/systemd/system/mihosrcd.service.d/10-enroll.conf > /dev/null <<'EOF' [Service] EnvironmentFile=-/etc/mihosrcd/agent.env EOF ③ 정책 파일 — 없으면 모든 명령이 POLICY_DENIED 입니다 (bsde에서 겪은 그 건): bash sudo tee /etc/mihosrcd/policy.json > /dev/null <<'EOF' { "allowed_actions": ["system.reboot", "system.shutdown", "service.*"] } EOF ④ 적용 bash sudo systemctl daemon-reload sudo systemctl restart mihosrcd sudo journalctl -u mihosrcd -n 60 --no-pager | grep -iE "enroll|relay|cmd|policy" 기대 로그: [enroll] enrolled ok (uuid=...) [cmd] relay URL 유도: wss://<host>:8443 [cmd] policy loaded: 3 allowed action(s) MIHO_RELAY_WSS_URL 은 넣지 않아도 됩니다 — enroll URL 호스트에서 wss://host:8443 이 자동 유도됩니다( main.c:748 ). 토큰·공개키 얻기 (7490fb) bash # 서버가 쓰는 값 확인 grep -E 'MS_BOOTSTRAP_TOKEN|MS_SIGNING_PUBKEY' /usr/local/etc/mihosrc/mihosrc.env # enroll 토큰 발급 curl -s -X POST https://<mihosocket>/api/v1/agent/enroll-token \ -H "Authorization: Bearer $MS_BOOTSTRAP_TOKEN" \ -H 'Content-Type: application/json' -d '{}' 한 가지 확인 sooke 는 Linux라 데이터 경로가 /var/db/mihosrcd/ 가 아닐 수 있습니다( /var/lib/mihosrcd/ 가능성). 제가 앞서 /var/db/ 경로를 드린 건 FreeBSD 기준이었습니다. enroll 성공 후 로그에 저장 경로가 찍히니 거기서 확인하시면 됩니다. 이건 코드 수정이 아니라 패키징 문제입니다. 제가 드린 linux_8.5.3.tgz 의 systemd 유닛에 enroll 항목이 아예 없었다면 그건 제 누락이 맞습니다. 파일을 주시면 유닛과 설치 스크립트에 위 내용을 넣어 다시 패키징해 드리겠습니다 — 그러면 다음 노드부터는 이 수작업이 필요 없습니다.