페어링
"페어링"은 OpenClaw의 명시적인 소유자 승인 단계입니다. 두 가지 상황에서 사용됩니다:
- DM 페어링 (봇과 대화할 수 있는 사용자)
- 노드 페어링 (게이트웨이 네트워크에 참여 가능한 디바이스/노드)
보안 컨텍스트: 보안
1) DM 페어링 (인바운드 채팅 접근)
채널이 DM 정책 pairing으로 구성된 경우, 알 수 없는 발신자는 짧은 코드를 받고 승인될 때까지 메시지가 처리되지 않습니다.
기본 DM 정책은 다음에 문서화되어 있습니다: 보안
페어링 코드:
- 8자, 대문자, 모호한 문자(
0O1I) 없음. - 1시간 후 만료. 봇은 새 요청이 생성될 때만 페어링 메시지를 전송합니다(발신자당 약 1시간에 한 번).
- 대기 중인 DM 페어링 요청은 기본적으로 채널당 3개로 제한됩니다. 하나가 만료되거나 승인될 때까지 추가 요청은 무시됩니다.
발신자 승인
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>지원 채널: bluebubbles, discord, feishu, googlechat, imessage, irc, line, matrix, mattermost, msteams, nextcloud-talk, nostr, openclaw-weixin, signal, slack, synology-chat, telegram, twitch, whatsapp, zalo, zalouser.
상태 저장 위치
~/.openclaw/credentials/ 아래에 저장됩니다:
- 대기 중인 요청:
<channel>-pairing.json - 승인된 허용 목록 저장소:
- 기본 계정:
<channel>-allowFrom.json - 기본이 아닌 계정:
<channel>-<accountId>-allowFrom.json
- 기본 계정:
계정 범위 지정 동작:
- 기본이 아닌 계정은 범위가 지정된 허용 목록 파일만 읽기/쓰기합니다.
- 기본 계정은 채널 범위의 허용 목록 파일을 사용합니다.
이 파일들은 어시스턴트 접근을 제어하므로 민감하게 취급하십시오.
중요: 이 저장소는 DM 접근용입니다. 그룹 인증은 별도입니다. DM 페어링 코드를 승인한다고 해서 해당 발신자가 그룹 명령을 실행하거나 그룹에서 봇을 제어할 수 있는 것은 아닙니다. 그룹 접근을 위해서는 채널의 명시적인 그룹 허용 목록(예: groupAllowFrom, groups, 또는 채널별 per-group/per-topic 오버라이드)을 구성하십시오.
2) 노드 디바이스 페어링 (iOS/Android/macOS/헤드리스 노드)
노드는 role: node로 게이트웨이에 디바이스로 연결됩니다. 게이트웨이는 승인이 필요한 디바이스 페어링 요청을 생성합니다.
Telegram을 통한 페어링 (iOS에 권장)
device-pair 플러그인을 사용하면 Telegram에서 완전히 처음 디바이스 페어링을 할 수 있습니다:
- Telegram에서 봇에게 메시지 보내기:
/pair - 봇이 두 개의 메시지로 응답합니다: 안내 메시지와 별도의 설정 코드 메시지(Telegram에서 복사/붙여넣기 용이).
- 휴대폰에서 OpenClaw iOS 앱 열기 → 설정 → 게이트웨이.
- 설정 코드를 붙여넣고 연결합니다.
- Telegram으로 돌아가서:
/pair pending(요청 ID, 역할, 범위 검토) 후 승인.
설정 코드는 다음을 포함하는 base64로 인코딩된 JSON 페이로드입니다:
url: 게이트웨이 WebSocket URL (ws://...또는wss://...)bootstrapToken: 초기 페어링 핸드셰이크에 사용되는 단기 단일 디바이스 부트스트랩 토큰
해당 부트스트랩 토큰에는 내장 페어링 부트스트랩 프로파일이 포함됩니다:
- 기본 핸드오프
node토큰은scopes: []유지 - 핸드오프
operator토큰은 부트스트랩 허용 목록으로 제한:operator.approvals,operator.read,operator.talk.secrets,operator.write - 부트스트랩 범위 검사는 역할 접두사로 구분되며, 단일 플랫 범위 풀이 아닙니다: operator 범위 항목은 operator 요청만 충족하고, 비-operator 역할은 자체 역할 접두사 아래에서 범위를 요청해야 합니다
설정 코드는 유효한 동안 비밀번호처럼 취급하십시오.
노드 디바이스 승인
openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>동일한 디바이스가 다른 인증 정보(예: 다른 역할/범위/공개 키)로 재시도하면 이전 대기 중인 요청이 대체되고 새 requestId가 생성됩니다.
노드 페어링 상태 저장
~/.openclaw/devices/ 아래에 저장됩니다:
pending.json(단기; 대기 중인 요청 만료)paired.json(페어링된 디바이스 + 토큰)
참고 사항
- 레거시
node.pair.*API (CLI:openclaw nodes pending|approve|reject|rename)는 별도의 게이트웨이 소유 페어링 저장소입니다. WS 노드는 여전히 디바이스 페어링이 필요합니다. - 페어링 레코드는 승인된 역할의 영구적인 진실의 원천입니다. 활성 디바이스 토큰은 해당 승인된 역할 집합으로 제한됩니다. 승인된 역할 외부의 스트레이 토큰 항목은 새로운 접근을 생성하지 않습니다.