Infograb logo
teleport CLI 참조

Teleport Access Platform을 지원하는 CLI 도구는 teleport이며, 이를 통해 Teleport 서비스를 명령 줄에서 관리할 수 있습니다:

teleport CLI의 주요 명령은 다음과 같습니다:

명령설명
teleport app startTeleport Application Service를 시작합니다.
teleport configureTeleport 서비스에 대한 구성 YAML 파일을 생성하고 기록합니다. 이 파일은 프로덕션 환경에 맞게 사용자 정의해야 하며, 기본 출력은 테스트할 때만 사용해야 합니다.
teleport db configure aws create-iam원하는 IAM 정책을 생성하고, 만들고, Teleport에서 관리하는 데이터베이스에 연결합니다.
teleport db configure aws print-iamTeleport에서 관리하는 데이터베이스에 대한 현재 IAM 정책을 생성하고 출력합니다.
teleport db configure bootstrap제공된 구성을 읽어 Teleport Database Service에 대한 구성을 부트스트랩하는 데 사용됩니다.
teleport db configure create데이터베이스 서비스에 대한 구성 YAML 파일을 생성합니다. 이 파일은 프로덕션 환경에 맞게 사용자 정의해야 하며, 기본 출력은 테스트할 때만 사용해야 합니다.
teleport db startTeleport Database Service를 시작합니다.
teleport helpTeleport 명령 사용을 위한 안내를 출력합니다.
teleport install systemdteleport 서비스 데몬을 구성하고 설치하는 데 사용되는 systemd 유닛 파일을 생성합니다.
teleport join opensshOpenSSH 서버를 Teleport에 등록합니다.
teleport node configureSSH를 통해 접근하는 Teleport Node에 대한 구성 YAML 파일을 생성합니다. 이 파일은 프로덕션 환경에 맞게 사용자 정의해야 하며, 기본 출력은 테스트할 때만 사용해야 합니다.
teleport start구성 YAML 파일로 구성된 모든 서비스를 포함하여 현재 셸 세션에서 teleport 프로세스를 포어그라운드로 시작합니다.
teleport status현재 활성 Teleport SSH 세션의 상태를 출력합니다.
teleport version시스템에 설치된 Teleport 바이너리의 현재 릴리즈 버전을 출력합니다.
teleport debug set-log-level인스턴스 로그 레벨을 변경합니다.
teleport debug get-log-level인스턴스의 현재 로그 레벨을 가져옵니다.
teleport debug debug profile애플리케이션 프로파일을(export pprof format) 내보냅니다.

teleport cli로 작업할 때 서브커맨드에 대한 더 많은 정보를 원할 경우, --help 옵션이나 teleport <subcommand> --help를 사용하세요.

teleport start

teleport start 명령은 많은 선택적 구성 플래그를 포함합니다.

teleport start의 구성 플래그는 Teleport의 구성을 설정하는 데 사용될 수 있지만, 프로덕션 환경에서는 구성 파일을 사용하는 것을 권장합니다.

플래그

이름기본 값허용 값설명
-d, --debug없음없음stderr에 자세한 로깅을 활성화합니다.
--insecure-no-tlsfalsetrue 또는 false프록시가 기본 자기 서명 TLS 인증서를 생성하지 않도록 지시합니다. 이는 Kubernetes(역방향 프록시 뒤에) 또는 AWS ELB, GCP LB 또는 Azure 부하 분산기와 같은 외부에서 SSL 종료가 제공되는 경우 Teleport를 실행할 때 유용합니다.
-r, --rolesproxy, node, authstring proxy, node, auth, db 또는 app의 쉼표로 구분된 목록나열된 서비스/역할을 시작합니다. 이러한 역할은 핵심 개념 문서에서 설명합니다.
--pid-file없음string 파일 경로경로에 PID 파일을 생성합니다.
--advertise-ip없음string IP클라이언트에 광고할 IP, 종종 NAT 뒤에서 사용됩니다.
-l, --listen-ip0.0.0.0net.IP서비스에 IP를 바인딩합니다.
--auth-server없음string IP프록시가 로컬 인증서 서버 대신 지정된 인증 서버에 연결을 시도합니다. 설정되면 --roles=auth가 비활성화됩니다.
--token없음string시작 시 인증 서버에 등록하기 위한 초대 토큰을 설정하며, 한 번 사용된 후 무시됩니다. 인증 서버에서 tctl nodes add를 실행하여 얻습니다. 무작위성을 충분히 갖춘 32바이트 이상의 토큰을 생성하려면 pwgen과 같은 도구를 사용하는 것을 권장합니다.
--ca-pin없음string sha256:<hash>인증 서버를 검증하기 위해 CA 핀을 설정합니다. tctl status로 생성됩니다.
--nodename머신에서 hostname 명령으로 반환된 값string클라이언트가 로그인하는 데 사용할 수 있는 노드의 대체 이름을 지정합니다.
-c, --config/etc/teleport.yamlstring .yaml 파일 경로YAML 파일에 지정된 구성으로 서비스를 시작하며, 설정된 경우 CLI 플래그를 덮어씁니다.
--apply-on-startup없음string .yaml 파일 경로시작 시 주어진 경로에 설명된 리소스를 항상 적용합니다. 다음 종류만 지원합니다: token, role, user, cluster-auth-preference, cluster-networking-config.
--bootstrap없음string .yaml 파일 경로구성된 YAML 리소스를 부트스트랩합니다
--labels없음string 쉼표로 구분된 목록노드에 레이블 세트를 지정합니다. 예: env=dev, app=web. 노드 레이블 지정 섹션에서 레이블 지정 메커니즘에 대한 설명을 확인하세요.
--insecure없음없음프록시 서비스에 대한 인증서 유효성 검사를 비활성화합니다. 인증 서비스에서는 여전히 유효성 검사가 발생합니다.
--fips없음없음FedRAMP/FIPS 140-2 모드에서 Teleport를 시작합니다.
--skip-version-checkfalsetrue 또는 false이 Teleport 인스턴스와 인증 서버 사이의 버전 검사를 건너뜁니다.
--diag-addr없음없음진단 엔드포인트를 활성화합니다.
--permit-user-env없음없음세션을 생성할 때 ~/.tsh/environment에서 환경 변수를 읽습니다.
--app-name없음없음시작할 애플리케이션의 이름
--app-uri없음없음프록시할 애플리케이션의 내부 주소
--app-public-addr없음없음프록시할 애플리케이션의 공개 주소

teleport start --roles

teleport --start와 함께 사용되는 --roles 플래그는 Teleport에 시작할 특정 Teleport 서비스를 지정하도록 지시합니다. 아래는 teleport start가 지원하는 역할 및 해당 서비스의 보다 응집력 있는 표입니다:

서비스역할 이름설명
Nodenode인증된 클라이언트의 SSH 연결을 허용합니다.
AuthauthTeleport에서 관리하는 리소스나 클러스터에 대한 접근을 원하는 호스트와 사용자를 인증하고 권한을 부여합니다.
Proxyproxy클라이언트가 인증 서비스나 Teleport에서 관리하는 리소스에 연결하는 데 사용하는 게이트웨이입니다.
Appapp애플리케이션에 대한 접근을 제공합니다.
Databasedb데이터베이스에 대한 접근을 제공합니다.

Teleport Cloud는 authproxy 역할이 있는 Teleport 인스턴스를 관리합니다. 나머지 역할을 사용하여 특정 리소스 및 기타 Teleport 클러스터에 대한 액세스를 관리하세요.

예제

# 기본적으로 구성 없이 teleport는 단일 노드 클러스터로 실행됩니다.
# 이는 --roles=node,proxy,auth로 실행하는 것과 동등합니다.
sudo teleport start

# SSH 모드 역할로 실행되는 'db'라는 이름의 노드를 시작하며,
# 인증 서버가 10.1.0.1에서 실행되는 클러스터에 합류합니다.
sudo teleport start --roles=node --auth-server=10.1.0.1 --token=xyz --nodename=db

# 위와 동일하나, 노드는 db=master 레이블로 실행되며,
# 이름 외에도 해당 레이블을 사용하여 연결할 수 있습니다.
sudo teleport start --roles=node --auth-server=10.1.0.1 --labels=db=master

# http://localhost:8080에서 실행되는 "example-app" 애플리케이션을 프록시하는 애플리케이션 서버를 시작합니다.
sudo teleport start --roles=app --token=xyz --auth-server=proxy.example.com:3080 \
    --app-name="example-app" \
    --app-uri="http://localhost:8080" \
    --labels=group=dev
Teleport 원문 보기