InfoGrab DocsInfoGrab Docs

Teleport Application Service를 사용하여 OpenClaw에 접근하기

요약

OpenClaw는 자신의 하드웨어나 클라우드 서버에 배포할 수 있는 개인 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를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 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')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 tctl and tsh clients를 설치합니다:

Mac

     `tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       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를 통해 연결하여 에이전트를 설치합니다.

  1. 공식 OpenClaw 원라이너 설치 스크립트를 실행합니다:

    $ curl -fsSL https://openclaw.ai/install.sh | bash
    
  2. 대화형 프롬프트를 따라 보안 경고를 수락하고, 선호하는 AI 모델을 선택하고, 인증합니다. 웹 인터페이스만 필요한 경우 채널 및 스킬 설정을 건너뜁니다.

  3. 설치 후 openclaw CLI 명령을 사용하려면 셸을 새로 고쳐야 할 수 있습니다:

    $ source ~/.bashrc # or ~/.zshrc
    

2/3단계. Teleport에 서버와 애플리케이션 등록#

  1. Node와 App 역할을 모두 허용하는 새 조인 토큰을 생성합니다.

    Teleport 클러스터에 대한 tctl 접근 권한이 있는 머신에서(전제 조건 참조) 다음을 실행합니다:

    $ tctl tokens add --type=node,app --ttl=30m --format=text
    

    출력을 기록해 두세요. 아래의 teleport configure 명령에서 Teleport 클러스터에 합류를 요청하는 서버와 애플리케이션이 정당한지 검증하기 위해 이 토큰을 사용합니다.

  2. OpenClaw 서버에서 클러스터 설치 스크립트를 사용하여 Teleport 에이전트를 설치합니다:

    $ curl "https://example.teleport.sh:443/scripts/install.sh" | sudo bash
    
  3. 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
    
  4. 마지막으로 Teleport 에이전트를 활성화하고 시작합니다:

    $ sudo systemctl enable teleport
    $ sudo systemctl start teleport
    

    이제 Teleport UI에서 OpenClaw 서버와 애플리케이션이 등록된 것을 확인할 수 있습니다.

    OpenClaw Application Enrolled

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." 오류가 표시됩니다.

페어링 프로세스 완료#

  1. ~/.openclaw/openclaw.jsongateway.auth.token 아래에서 게이트웨이 토큰을 검색합니다.

    Tip

토큰이 평문으로 저장되어 있다면, 이를 .env 파일로 옮기고 구성 파일에서 ${OPENCLAW_GATEWAY_TOKEN} 변수로 참조하는 것을 고려하세요. 또한 이 토큰을 주기적으로 교체하세요.

  1. Teleport Web UI에서 OpenClaw 앱을 열고 URL에 토큰을 추가합니다:

    $ https://openclaw.your-teleport-proxy.com?token=<your-gateway-token>
    

    이렇게 하면 페어링 요청이 시작됩니다.

  2. OpenClaw 서버에서 페어링 요청 ID를 검색합니다:

    $ openclaw devices list
    
  3. 요청 ID request-id를 사용하여 장치를 승인합니다:

    $ openclaw devices approve request-id
    
  4. OpenClaw 게이트웨이를 재시작합니다:

    $ openclaw gateway restart
    

이제 어디서든 Teleport로 보호된 URL을 통해 AI 에이전트에 안전하게 접근할 수 있습니다.

OpenClaw Control UI

Tip

Teleport가 정상적으로 작동하는 것이 확인되면, AWS 보안 그룹에서 표준 SSH 접근을 제거하여 서버를 더욱 강화할 수 있습니다. Teleport는 계속해서 해당 머신에 안전한 접근을 제공합니다.

추가 읽기#

Teleport Application Service를 사용하여 OpenClaw에 접근하기

Teleport v18.9
원문 보기
요약

OpenClaw는 자신의 하드웨어나 클라우드 서버에 배포할 수 있는 개인 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를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 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')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 tctl and tsh clients를 설치합니다:

Mac

     `tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       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를 통해 연결하여 에이전트를 설치합니다.

  1. 공식 OpenClaw 원라이너 설치 스크립트를 실행합니다:

    $ curl -fsSL https://openclaw.ai/install.sh | bash
    
  2. 대화형 프롬프트를 따라 보안 경고를 수락하고, 선호하는 AI 모델을 선택하고, 인증합니다. 웹 인터페이스만 필요한 경우 채널 및 스킬 설정을 건너뜁니다.

  3. 설치 후 openclaw CLI 명령을 사용하려면 셸을 새로 고쳐야 할 수 있습니다:

    $ source ~/.bashrc # or ~/.zshrc
    

2/3단계. Teleport에 서버와 애플리케이션 등록#

  1. Node와 App 역할을 모두 허용하는 새 조인 토큰을 생성합니다.

    Teleport 클러스터에 대한 tctl 접근 권한이 있는 머신에서(전제 조건 참조) 다음을 실행합니다:

    $ tctl tokens add --type=node,app --ttl=30m --format=text
    

    출력을 기록해 두세요. 아래의 teleport configure 명령에서 Teleport 클러스터에 합류를 요청하는 서버와 애플리케이션이 정당한지 검증하기 위해 이 토큰을 사용합니다.

  2. OpenClaw 서버에서 클러스터 설치 스크립트를 사용하여 Teleport 에이전트를 설치합니다:

    $ curl "https://example.teleport.sh:443/scripts/install.sh" | sudo bash
    
  3. 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
    
  4. 마지막으로 Teleport 에이전트를 활성화하고 시작합니다:

    $ sudo systemctl enable teleport
    $ sudo systemctl start teleport
    

    이제 Teleport UI에서 OpenClaw 서버와 애플리케이션이 등록된 것을 확인할 수 있습니다.

    OpenClaw Application Enrolled

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." 오류가 표시됩니다.

페어링 프로세스 완료#

  1. ~/.openclaw/openclaw.jsongateway.auth.token 아래에서 게이트웨이 토큰을 검색합니다.

    Tip

토큰이 평문으로 저장되어 있다면, 이를 .env 파일로 옮기고 구성 파일에서 ${OPENCLAW_GATEWAY_TOKEN} 변수로 참조하는 것을 고려하세요. 또한 이 토큰을 주기적으로 교체하세요.

  1. Teleport Web UI에서 OpenClaw 앱을 열고 URL에 토큰을 추가합니다:

    $ https://openclaw.your-teleport-proxy.com?token=<your-gateway-token>
    

    이렇게 하면 페어링 요청이 시작됩니다.

  2. OpenClaw 서버에서 페어링 요청 ID를 검색합니다:

    $ openclaw devices list
    
  3. 요청 ID request-id를 사용하여 장치를 승인합니다:

    $ openclaw devices approve request-id
    
  4. OpenClaw 게이트웨이를 재시작합니다:

    $ openclaw gateway restart
    

이제 어디서든 Teleport로 보호된 URL을 통해 AI 에이전트에 안전하게 접근할 수 있습니다.

OpenClaw Control UI

Tip

Teleport가 정상적으로 작동하는 것이 확인되면, AWS 보안 그룹에서 표준 SSH 접근을 제거하여 서버를 더욱 강화할 수 있습니다. Teleport는 계속해서 해당 머신에 안전한 접근을 제공합니다.

추가 읽기#