Teleport Application Service를 사용하여 OpenClaw에 접근하기
Teleport v18.9OpenClaw는 자신의 하드웨어나 클라우드 서버에 배포할 수 있는 개인 AI 어시스턴트입니다. 이 가이드는 Teleport를 사용하여 OpenClaw Control UI에 대한 접근을 보호하는 방법을 보여줍니다. OpenClaw는 에이전트와의 통신을 위해 포트 18789에 로컬 웹 인터페이스를 노출합니다.
OpenClaw는 자신의 하드웨어나 클라우드 서버에 배포할 수 있는 개인 AI 어시스턴트입니다.
이 가이드는 Teleport를 사용하여 OpenClaw Control UI에 대한 접근을 보호하는 방법을 보여줍니다.
작동 방식#
OpenClaw는 에이전트와의 통신을 위해 포트 18789에 로컬 웹 인터페이스를 노출합니다. 기본적으로 이 인터페이스는 localhost에 바인딩됩니다. 적절한 보안 제어 없이 공개적으로 노출하면 심각한 위험이 발생합니다.
Teleport는 보안 게이트웨이 역할을 하여 이 설정을 안전하게 보호할 수 있습니다. Teleport가 제공하는 기능은 다음과 같습니다:
- 제로 트러스트 웹 접근: 공개 포트를 노출하지 않고 안전한 Teleport 프록시를 통해 웹 인터페이스에 접근합니다.
- 보안 SSH: Teleport의 아이덴티티 기반 SSH 접근을 사용하여 기반 서버를 관리합니다.
- 출처 검증: OpenClaw가 신뢰할 수 있는 Teleport 도메인의 요청만 수락하도록 구성할 수 있습니다.
전제 조건#
-
실행 중인 Teleport 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.
-
tctlandtshclients.Installing `tctl` and `tsh` clients
-
Teleport 클러스터의 버전을 확인합니다.
tctlandtshclients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의/v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다.teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:$ TELEPORT_DOMAIN=teleport.example.com:443 $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')" -
사용 중인 플랫폼에 대한 지침에 따라
tctlandtshclients를 설치합니다:
-
Mac
`tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
```code
$ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
```
Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
보장할 수 없습니다.
Windows - Powershell
```code
$ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
# Unzip the archive and move the `tctl` and `tsh` clients to your %PATH%
# NOTE: Do not place the `tctl` and `tsh` clients in the System32 directory, as this can cause issues when using WinSCP.
# Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
```
Linux
Linux 설치판의 모든 Teleport 바이너리에는 `tctl` and `tsh` clients가 포함되어 있습니다. RPM/DEB
패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
[설치 페이지](../installation/installation.mdx)를 참조하세요.
```code
$ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ cd teleport
$ sudo ./install
# Teleport binaries have been copied to /usr/local/bin
```
- 에이전트 백엔드를 위한 AI 모델 공급자 계정.
- OpenClaw를 호스팅할 서버(예: AWS EC2, Raspberry Pi, 또는 미니 PC). Raspberry Pi나
Mac mini 같은 로컬 하드웨어에도 OpenClaw를 호스팅할 수 있지만, 이 가이드는
t3.small인스턴스에서 Ubuntu를 실행하는 AWS EC2 인스턴스를 예시로 사용합니다. 초기 설치를 수행할 수 있도록 네트워크가 해당 인스턴스에 대한 SSH 접근을 허용하는지 확인하세요.
1/3단계. OpenClaw 설치 및 구성#
서버가 실행되면 SSH를 통해 연결하여 에이전트를 설치합니다.
-
공식 OpenClaw 원라이너 설치 스크립트를 실행합니다:
$ curl -fsSL https://openclaw.ai/install.sh | bash -
대화형 프롬프트를 따라 보안 경고를 수락하고, 선호하는 AI 모델을 선택하고, 인증합니다. 웹 인터페이스만 필요한 경우 채널 및 스킬 설정을 건너뜁니다.
-
설치 후
openclawCLI 명령을 사용하려면 셸을 새로 고쳐야 할 수 있습니다:$ source ~/.bashrc # or ~/.zshrc
2/3단계. Teleport에 서버와 애플리케이션 등록#
-
Node와 App 역할을 모두 허용하는 새 조인 토큰을 생성합니다.
Teleport 클러스터에 대한
tctl접근 권한이 있는 머신에서(전제 조건 참조) 다음을 실행합니다:$ tctl tokens add --type=node,app --ttl=30m --format=text출력을 기록해 두세요. 아래의
teleport configure명령에서 Teleport 클러스터에 합류를 요청하는 서버와 애플리케이션이 정당한지 검증하기 위해 이 토큰을 사용합니다. -
OpenClaw 서버에서 클러스터 설치 스크립트를 사용하여 Teleport 에이전트를 설치합니다:
$ curl "https://example.teleport.sh:443/scripts/install.sh" | sudo bash -
SSH 서비스와 Application 서비스를 모두 활성화하는 Teleport 구성을 생성합니다:
$ sudo teleport configure \ --proxy="example.teleport.sh:443" \ --token="token generated above" \ --roles=node,app \ --app-name=openclaw \ --app-uri=http://127.0.0.1:18789 \ --output=file -
마지막으로 Teleport 에이전트를 활성화하고 시작합니다:
$ sudo systemctl enable teleport $ sudo systemctl start teleport이제 Teleport UI에서 OpenClaw 서버와 애플리케이션이 등록된 것을 확인할 수 있습니다.

3/3단계. OpenClaw와 Teleport 페어링#
OpenClaw는 localhost 외부에서 접근하는 모든 장치를 명시적으로 페어링하도록 요구합니다. 페어링은 게이트웨이 네트워크에 합류할 수 있는 장치를 결정하는 OpenClaw의 소유자 승인 단계입니다.
허용된 출처 구성#
~/.openclaw/openclaw.json을 편집하고 allowedOrigins 섹션에 Teleport URL을 추가합니다. your-teleport-proxy.com을 Teleport 프록시 주소로 교체합니다:
"gateway": {
...
"controlUi": {
"allowedOrigins": ["https://openclaw.your-teleport-proxy.com"]
}
...
}
허용된 출처를 추가한 후 OpenClaw를 재시작하고 Teleport를 통해 앱에 접근을 시도합니다. "unauthorized: gateway token missing." 오류가 표시됩니다.
페어링 프로세스 완료#
-
~/.openclaw/openclaw.json의gateway.auth.token아래에서 게이트웨이 토큰을 검색합니다.Tip토큰이 평문으로 저장되어 있다면, 이를
.env파일로 옮기고 구성 파일에서${OPENCLAW_GATEWAY_TOKEN}변수로 참조하는 것을 고려하세요. 또한 이 토큰을 주기적으로 교체하세요.-
Teleport Web UI에서 OpenClaw 앱을 열고 URL에 토큰을 추가합니다:
$ https://openclaw.your-teleport-proxy.com?token=<your-gateway-token>이렇게 하면 페어링 요청이 시작됩니다.
-
OpenClaw 서버에서 페어링 요청 ID를 검색합니다:
$ openclaw devices list -
요청 ID
request-id를 사용하여 장치를 승인합니다:$ openclaw devices approve request-id -
OpenClaw 게이트웨이를 재시작합니다:
$ openclaw gateway restart
이제 어디서든 Teleport로 보호된 URL을 통해 AI 에이전트에 안전하게 접근할 수 있습니다.
TipTeleport가 정상적으로 작동하는 것이 확인되면, AWS 보안 그룹에서 표준 SSH 접근을 제거하여 서버를 더욱 강화할 수 있습니다. Teleport는 계속해서 해당 머신에 안전한 접근을 제공합니다.
추가 읽기#
- Teleport Agentic Identity Framework에 대해 알아보세요.
-