Infograb logo
teleport CLI 참조

텔레포트 접근 플랫폼을 지원하는 CLI 도구는 teleport 이며, 이는 명령줄을 통해 Teleport 서비스를 관리할 수 있습니다:

teleport CLI의 기본 명령어는 다음과 같습니다:

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

teleport cli로 작업할 때 하위 명령어에 대한 더 많은 정보는 --help 옵션이나 teleport <subcommand> --help 를 사용하세요.

teleport start

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

teleport start 의 구성 플래그를 사용하여 Teleport의 구성을 위한 매개변수를 설정할 수 있지만, 생산 환경에서는 구성 파일을 사용하는 것을 권장합니다.

Flags

이름기본값허용 값설명
-d, --debug없음없음stderr에 자세한 로그를 활성화합니다.
--insecure-no-tlsfalsetrue 또는 false프록시에게 기본 자체 서명 TLS 인증서를 생성하지 말라고 지시합니다. 이는 kubernetes에서 Teleport를 실행할 때 (역방향 프록시 뒤) 또는 AWS ELB, GCP LB 또는 Azure 로드 밸런서와 같은 SSL 종료가 외부적으로 제공되는 환경에서 유용합니다.
-r, --rolesproxy , node , authstring 쉼표로 구분된 목록의 proxy , node , auth , db , 또는 app나열된 서비스/역할을 시작합니다. 이러한 역할은 Core Concepts 문서에 설명되어 있습니다.
--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. Labeling Nodes 섹션에서 레이블링 메커니즘에 대한 설명을 참조하세요.
--insecure없음없음프록시 서비스에서 인증서 유효성 검사 비활성화, 인증 서비스에서는 여전히 유효성 검사가 발생합니다.
--fips없음없음Teleport를 FedRAMP/FIPS 140-2 모드에서 시작합니다.
--skip-version-checkfalsetrue 또는 false이 Teleport 인스턴스와 Auth 서버 간의 버전 검사를 건너뜁니다.
--diag-addr없음없음진단 엔드포인트를 활성화합니다.
--permit-user-env없음없음세션을 생성할 때 ~/.tsh/environment 에서 환경 변수를 읽는 플래그입니다.
--app-name없음없음시작할 애플리케이션의 이름입니다.
--app-uri없음없음프록시할 애플리케이션의 내부 주소입니다.
--app-public-addr없음없음프록시할 애플리케이션의 공용 주소입니다.

teleport start --roles

--roles 플래그는 teleport --start 와 함께 사용될 때 Teleport가 어떤 특정 Teleport 서비스를 시작할지 지시합니다. 아래는 teleport start 가 지원하는 역할과 관련된 서비스의 보다 일관된 표입니다:

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

Teleport Cloud는 authproxy 역할로 Teleport 인스턴스를 관리합니다. 남은 역할을 사용하여 특정 리소스 및 다른 Teleport 클러스터에 대한 접근을 관리하십시오.

예제

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

# 'db'라는 이름의 노드를 시작하며, 엄격한 SSH 모드 역할로執行되고
# 인증 서버가 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

# "example-app"이라는 애플리케이션을 http://localhost:8080에서 실행하는
# 앱 서버를 시작합니다.
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 원문 보기