InfoGrab Docs

tsh 참조

요약

이 가이드는 tsh의 명령어, 인수, 플래그에 대한 종합 목록을 제공합니다. tsh는 Teleport로 보호된 리소스에 접근하기 위한 CLI 클라이언트입니다. 앱에 대한 단기 인증서를 검색합니다. 사용 가능한 애플리케이션을 나열합니다.

이 가이드는 tsh의 명령어, 인수, 플래그에 대한 종합 목록을 제공합니다.

tsh는 Teleport로 보호된 리소스에 접근하기 위한 CLI 클라이언트입니다. 사용자가 클러스터의 현재 및 과거 세션과 상호 작용하고, 노드로/에서 파일을 복사하고, 클러스터에 대한 정보를 나열할 수 있게 해줍니다.

$ tsh [<flags>] <command> [<args> ...]

전역 플래그:

플래그 기본값 설명
--auth 없음 사용할 인증 커넥터의 이름을 지정합니다.
--bind-addr 없음 클러스터 로그인을 위해 브라우저를 열 때 사용하는 host:port를 재정의합니다
--callback 없음 클러스터 로그인을 위해 브라우저를 열 때 표시되는 링크의 기본 URL (host:port)을 재정의합니다. --bind-addr과 함께 사용해야 합니다.
--cert-format 없음 SSH 인증서 형식
-d, --[no-]debug false stdout에 상세 로깅.
-i, --identity 없음 ID 파일
-J, --jumphost 없음 SSH 점프 호스트
-k, --add-keys-to-agent auto 키를 처리하는 방법을 제어합니다. 유효한 값은 [auto no yes only]입니다.
-l, --login 없음 원격 호스트 로그인
--mfa-mode auto MFA 및 Passwordless 어설션의 선호 모드 (auto, cross-platform, platform, otp, sso)
--mlock auto 프로세스 메모리가 잠길지 여부와 실패 시 허용 여부를 결정합니다 (off, auto, best_effort, strict).
--[no-]enable-escape-sequences true SSH 이스케이프 시퀀스 지원을 활성화합니다. SSH 세션 중 '~?'를 입력하여 지원되는 시퀀스 목록을 확인합니다. 기본값은 활성화됨.
--[no-]headless false 헤드리스 로그인 사용. --auth=headless의 약어.
--[no-]insecure false 서버의 인증서 및 호스트 이름을 확인하지 않습니다. 테스트 환경에서만 사용
--[no-]os-log false 통합 로깅 시스템에 상세 로깅. 이 플래그는 --debug를 의미합니다. TELEPORT_OS_LOG 환경 변수를 통해서도 사용 가능. https://goteleport.com/docs/connect-your-client/tsh/#debug-logs
--[no-]skip-version-check false 서버와 클라이언트 간의 버전 확인을 건너뜁니다.
--piv-slot 없음 기본값 대신 하드웨어 키 지원에 사용할 PIV 슬롯 키를 지정합니다. 예: "9d"
--proxy 없음 Teleport proxy 주소
--relay 없음 Teleport relay 주소. "none"으로 relay 사용을 명시적으로 비활성화하거나, 로그인 시 다른 주소가 지정된 경우에도 클러스터에서 제공한 주소를 사용하려면 "default"를 사용합니다.
--ttl 없음 세션의 유효 시간 (분)
--user 없음 Teleport 사용자, 기본값은 현재 로컬 사용자

전역 환경 변수:

변수 기본값 설명
TELEPORT_ADD_KEYS_TO_AGENT auto 키를 처리하는 방법을 제어합니다. 유효한 값은 [auto no yes only]입니다.
TELEPORT_AUTH 없음 사용할 인증 커넥터의 이름을 지정합니다.
TELEPORT_CLUSTER none Teleport 루트 또는 리프 클러스터의 이름
TELEPORT_GLOBAL_TSH_CONFIG none 기본값 /etc/tsh.yaml에서 전역 tsh 구성 파일의 위치를 재정의합니다
TELEPORT_HEADLESS false 헤드리스 로그인 사용. --auth=headless의 약어.
TELEPORT_HOME none tsh 구성 및 데이터의 홈 위치
TELEPORT_IDENTITY_FILE 없음 ID 파일
TELEPORT_LOGIN 없음 원격 호스트 로그인
TELEPORT_LOGIN_BIND_ADDR 없음 클러스터 로그인을 위해 브라우저를 열 때 사용하는 host:port를 재정의합니다
TELEPORT_MFA_MODE auto MFA 및 Passwordless 어설션의 선호 모드 (auto, cross-platform, platform, otp, sso)
TELEPORT_MLOCK_MODE auto 프로세스 메모리가 잠길지 여부와 실패 시 허용 여부를 결정합니다 (off, auto, best_effort, strict).
TELEPORT_PIV_SLOT 없음 기본값 대신 하드웨어 키 지원에 사용할 PIV 슬롯 키를 지정합니다. 예: "9d"
TELEPORT_PROXY 없음 Teleport proxy 주소
TELEPORT_RELAY 없음 Teleport relay 주소. "none"으로 relay 사용을 명시적으로 비활성화하거나, 로그인 시 다른 주소가 지정된 경우에도 클러스터에서 제공한 주소를 사용하려면 "default"를 사용합니다.
TELEPORT_USER 없음 Teleport 사용자, 기본값은 현재 로컬 사용자

tsh apps config#

앱 연결 정보를 출력합니다.

사용법:

$ tsh apps config [<flags>] [<app>]

플래그:

플래그 기본값 설명
-f, --format 없음 선택적 출력 형식. 앱 주소를 출력하려면 "uri", CA 인증서 경로를 출력하려면 "ca", 인증서 경로를 출력하려면 "cert", 키 경로를 출력하려면 "key", 예제 curl 명령을 출력하려면 "curl", JSON 또는 YAML로 모든 것을 출력하려면 "json" 또는 "yaml".

인수:

인수 기본값 설명
app 없음 (선택) 정보를 출력할 앱. 여러 앱에 로그인된 경우 필수.

tsh apps login#

앱에 대한 단기 인증서를 검색합니다.

사용법:

$ tsh apps login [<flags>] <app>

플래그:

플래그 기본값 설명
--aws-role 없음 (AWS CLI 접근만 해당) Amazon IAM 역할 ARN 또는 역할 이름.
--azure-identity 없음 (Azure CLI 접근만 해당) Azure 관리 ID 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.
-q, --[no-]quiet false 조용한 모드
--target-port 없음 이 인증서를 사용하는 연결이 라우팅되어야 하는 포트. 다중 포트 TCP 앱에만 유효합니다.

인수:

인수 기본값 설명
app 없음 (필수) 자격 증명을 검색할 앱 이름. tsh apps ls 출력에서 확인할 수 있습니다.

tsh apps logout#

앱 인증서를 제거합니다.

사용법:

$ tsh apps logout [<app>]

인수:

인수 기본값 설명
app 없음 (선택) 자격 증명을 제거할 앱.

tsh apps ls#

사용 가능한 애플리케이션을 나열합니다.

사용법:

$ tsh apps ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 앱을 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 애플리케이션 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh aws#

AWS API에 접근합니다.

사용법:

$ tsh aws [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 AWS 애플리케이션의 선택적 이름.
--aws-role 없음 (AWS CLI 접근만 해당) Amazon IAM 역할 ARN 또는 역할 이름.
--exec 없음 Teleport 자격 증명 하에 다른 명령어 (예: terraform)를 실행

인수:

인수 기본값 설명
command 없음 (선택) AWS CLI에 전달될 AWS 명령어 및 하위 명령어 인수.

tsh az#

Azure API에 접근합니다.

사용법:

$ tsh az [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 Azure 애플리케이션의 선택적 이름.
--azure-identity 없음 (Azure CLI 접근만 해당) Azure 관리 ID 이름.

인수:

인수 기본값 설명
command 없음 (선택) Azure CLI에 전달될 az 명령어 및 하위 명령어 인수.

tsh clusters#

사용 가능한 Teleport 클러스터를 나열합니다.

사용법:

$ tsh clusters [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드
-v, --[no-]verbose false 전체 레이블 출력이 표시되는 상세 테이블 출력

tsh config#

OpenSSH 구성 세부 정보를 출력합니다.

사용법:

$ tsh config [<flags>]

플래그:

플래그 기본값 설명
-p, --port 없음 원격 호스트의 SSH 포트

tsh db config#

데이터베이스 연결 정보를 출력합니다. GUI 클라이언트를 구성할 때 유용합니다.

사용법:

$ tsh db config [<flags>] [<db>]

플래그:

플래그 기본값 설명
-f, --format 없음 출력 형식: 테이블 형식으로 출력하려면 "text" (기본값), 연결 명령어를 출력하려면 "cmd", JSON 또는 YAML로 출력하려면 "json" 또는 "yaml".
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 지정된 데이터베이스의 정보 출력.

tsh db connect#

데이터베이스에 연결합니다.

사용법:

$ tsh db connect [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 연결할 데이터베이스 서비스 이름.

tsh db env#

구성된 데이터베이스의 환경 변수를 출력합니다.

사용법:

$ tsh db env [<flags>] [<db>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 지정된 데이터베이스의 환경 출력

tsh db exec#

대상 데이터베이스 서비스에서 데이터베이스 명령을 실행합니다.

사용법:

$ tsh db exec [<flags>] <command>

플래그:

플래그 기본값 설명
--dbs 없음 대상 데이터베이스 서비스의 쉼표로 구분된 목록. --search 또는 --labels와 함께 사용 불가.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]confirm true 명령을 실행하기 전에 선택된 데이터베이스 서비스를 확인합니다.
--output-dir 없음 대상 데이터베이스 서비스별 명령 출력을 저장할 디렉터리. 요약은 "summary.json"으로 저장됩니다.
--parallel 1 대상 데이터베이스에서 병렬로 명령을 실행합니다. 기본값은 1, 최대 허용은 10.
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
command 없음 (필수) 대상 데이터베이스 서비스에서 실행할 명령.

tsh db login#

데이터베이스의 자격 증명을 검색합니다.

사용법:

$ tsh db login [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 기본값으로 구성할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 기본값으로 구성할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 자격 증명을 검색할 데이터베이스. 'tsh db ls' 출력에서 확인할 수 있습니다.

tsh db logout#

데이터베이스 자격 증명을 제거합니다.

사용법:

$ tsh db logout [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 자격 증명을 제거할 데이터베이스.

tsh db ls#

사용 가능한 모든 데이터베이스를 나열합니다.

사용법:

$ tsh db ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 데이터베이스를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 데이터베이스 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh device enroll#

이 디바이스를 신뢰할 수 있는 디바이스로 등록합니다. Teleport Enterprise가 필요합니다.

사용법:

$ tsh device enroll [<flags>]

플래그:

플래그 기본값 설명
--[no-]current-device false 현재 디바이스를 등록하려고 시도합니다. 디바이스 관리자 권한이 필요합니다.
--token 없음 디바이스 등록 토큰

tsh env#

Teleport 세션 환경 변수를 설정하는 명령어를 출력합니다.

사용법:

$ tsh env [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]unset false Teleport 세션 환경 변수를 지우는 명령어 출력

tsh gcloud#

gcloud 명령으로 GCP API에 접근합니다.

사용법:

$ tsh gcloud [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.

인수:

인수 기본값 설명
command 없음 (선택) gcloud 명령어 및 하위 명령어 인수.

tsh git clone#

Git 저장소를 복제합니다.

사용법:

$ tsh git clone <repository> [<directory>]

인수:

인수 기본값 설명
directory 없음 (선택) 복제할 새 디렉터리의 이름.
repository 없음 (필수) 복제할 저장소의 Git URL.

tsh git config#

작업 중인 Git 디렉터리에서 Teleport 구성을 확인합니다. 또는 Git 저장소를 구성하기 위한 작업 ('update' 또는 'reset')을 제공합니다.

사용법:

$ tsh git config [<action>]

인수:

인수 기본값 설명
action 없음 (선택) 수행할 선택적 작업. 'update'는 Teleport를 통해 Git 명령을 프록시하도록 Git 저장소를 구성합니다. 'reset'은 Git 저장소에서 Teleport 구성을 지웁니다.

tsh git login#

브라우저를 열고 GitHub에서 로그인 정보를 검색합니다.

사용법:

$ tsh git login --github-org=GITHUB-ORG [<flags>]

플래그:

플래그 기본값 설명
--github-org 없음 GitHub 조직
--[no-]force false 강제 로그인

tsh git ls#

Git 서버를 나열합니다.

사용법:

$ tsh git ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh gsutil#

gsutil 명령으로 Google Cloud Storage에 접근합니다.

사용법:

$ tsh gsutil [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.

인수:

인수 기본값 설명
command 없음 (선택) gsutil 명령어 및 하위 명령어 인수.

tsh headless approve#

헤드리스 인증 요청을 승인합니다.

사용법:

$ tsh headless approve [<flags>] [<request id>]

환경 변수:

변수 기본값 설명
TELEPORT_HEADLESS_SKIP_CONFIRM false 확인을 건너뛰고 즉시 MFA를 요청합니다

플래그:

플래그 기본값 설명
--[no-]skip-confirm false 확인을 건너뛰고 즉시 MFA를 요청합니다

인수:

인수 기본값 설명
request id 없음 (선택) 헤드리스 인증 요청 ID

tsh help#

도움말을 표시합니다.

사용법:

$ tsh help [<command>...]

인수:

인수 기본값 설명
command 없음 (선택) 명령에 대한 도움말 표시.

tsh join#

활성 SSH 또는 Kubernetes 세션에 참가합니다.

사용법:

$ tsh join [<flags>] <session-id>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-m, --mode observer 세션에 참가하는 모드. 유효한 모드는 observer, moderator, peer입니다.

인수:

인수 기본값 설명
session-id 없음 (필수) 참가할 세션의 ID

tsh kube exec#

Kubernetes 파드에서 명령을 실행합니다.

사용법:

$ tsh kube exec [<flags>] <target> <command>...

플래그:

플래그 기본값 설명
-c, --container 없음 컨테이너 이름. 생략된 경우, kubectl.kubernetes.io/default-container 어노테이션을 사용하여 연결할 컨테이너를 선택하거나 파드의 첫 번째 컨테이너가 선택됩니다
-f, --filename 없음 리소스로 exec하는 데 사용할 파일
--invite 없음 세션에 초대된 것으로 표시할 사람들의 쉼표로 구분된 목록.
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]participant-req false 중재된 세션에서 필요한 참가자의 상세 목록을 표시합니다.
-q, --[no-]quiet false 원격 세션의 출력만 출력합니다
--reason 없음 세션의 목적.
-s, --[no-]stdin false 컨테이너에 stdin을 전달
-t, --[no-]tty false stdin이 TTY입니다

인수:

인수 기본값 설명
command 없음 (필수) 컨테이너에서 실행할 명령
target 없음 (필수) 파드 또는 디플로이먼트 이름

tsh kube join#

활성 Kubernetes 세션에 참가합니다.

사용법:

$ tsh kube join [<flags>] <session>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-m, --mode observer 세션에 참가하는 모드. 유효한 모드는 observer, moderator, peer입니다.

인수:

인수 기본값 설명
session 없음 (필수) 대상 세션의 ID.

tsh kube login#

Kubernetes 클러스터에 로그인합니다.

사용법:

$ tsh kube login [<flags>] [<kube-cluster>]

플래그:

플래그 기본값 설명
--as 없음 사용자 지정 Kubernetes 사용자 가장을 구성합니다.
--as-groups 없음 사용자 지정 Kubernetes 그룹 가장을 구성합니다.
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]all false 사용자가 접근 가능한 모든 클러스터로 kubeconfig를 생성합니다. --labels 또는 --query와 함께 사용 불가.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--request-reason 없음 액세스 요청 이유
--set-context-name {}-{} 사용자 지정 컨텍스트 이름을 정의합니다. --all과 함께 사용하려면 "{{.KubeName}}"을 포함합니다

인수:

인수 기본값 설명
kube-cluster 없음 (선택) 로그인할 Kubernetes 클러스터의 이름. 사용 가능한 클러스터 목록은 'tsh kube ls'에서 확인합니다.

tsh kube ls#

Kubernetes 클러스터 목록을 가져옵니다.

사용법:

$ tsh kube ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 Kubernetes 클러스터를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 레이블의 전체 목록 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh kube sessions#

활성 Kubernetes 세션 목록을 가져옵니다. (사용 중단됨: 대신 tsh sessions ls --kind=kube를 사용하십시오)

사용법:

$ tsh kube sessions [<flags>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml)

tsh kubectl#

Kubernetes 클러스터에서 kubectl 명령을 실행합니다.

사용법:

$ tsh kubectl [args...]

인수:

인수 기본값 설명
args 없음 (선택) 임의의 인수

tsh latency ssh#

특정 SSH 호스트에 대한 지연 시간을 측정합니다.

사용법:

$ tsh latency ssh [<flags>] <[user@]host>

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화

인수:

인수 기본값 설명
[user@]host 없음 (필수) 원격 호스트 이름 및 사용할 로그인

tsh login#

클러스터에 로그인하고 세션 인증서를 검색합니다.

사용법:

$ tsh login [<flags>] [<cluster>]

플래그:

플래그 기본값 설명
--browser 없음 로그인 시 브라우저 열기를 억제하려면 'none'으로 설정
-f, --format file ID 형식: file, openssh (OpenSSH 호환성용) 또는 kubernetes (kubeconfig용)
--kube-cluster 없음 로그인할 Kubernetes 클러스터의 이름
--[no-]overwrite false 기존 ID 파일을 덮어쓸지 여부.
--[no-]request-nowait false 요청 해결을 기다리지 않고 완료합니다
-o, --out 없음 ID 출력
--request-id 없음 지정된 요청에서 요청된 역할로 로그인합니다
--request-reason 없음 추가 역할을 요청하는 이유
--request-reviewers 없음 역할 요청을 위한 제안된 검토자
--request-roles 없음 하나 이상의 추가 역할 요청
--scope 없음 지정된 범위로 자격 증명을 고정합니다.
-v, --[no-]verbose false 추가 상태 정보 표시

인수:

인수 기본값 설명
cluster 없음 (선택) 연결할 Teleport 클러스터 지정

tsh logout#

클러스터 인증서를 삭제합니다.

사용법:

$ tsh logout

tsh ls#

원격 SSH 노드를 나열합니다.

사용법:

$ tsh ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml, names)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 노드를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 한 줄 출력 (text 형식의 경우), 노드 UUID 포함

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh mcp config#

클라이언트 구성 세부 정보를 출력합니다.

사용법:

$ tsh mcp config [<flags>] [<name>]

환경 변수:

변수 기본값 설명
TELEPORT_MCP_CLIENT_CONFIG 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
TELEPORT_MCP_CONFIG_JSON_FORMAT auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.

플래그:

플래그 기본값 설명
--client-config 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
--format 없음 구성 형식 지정 (claude, vscode, cursor). 제공되지 않으면 구성 파일에서 형식을 가정하며, 구성 파일이 제공되지 않으면 "claude"가 기본값입니다.
-H, --header 없음 스트리밍 가능한 HTTP MCP 서버에 사용할 추가 사용자 지정 헤더.
--json-format auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--[no-]auto-reconnect false 이전 원격 세션이 네트워크 문제나 tsh 세션 만료로 중단될 때 자동으로 새 원격 MCP 세션을 시작합니다. 상태 비저장 MCP 세션에 권장됩니다. 기본값은 true.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 MCP 서버를 선택합니다. --labels 또는 --query와 함께 사용 불가.

인수:

인수 기본값 설명
name 없음 (선택) MCP 서버의 이름.

tsh mcp db config#

클라이언트 구성 세부 정보를 출력합니다.

사용법:

$ tsh mcp db config [<flags>] [<name>]

환경 변수:

변수 기본값 설명
TELEPORT_MCP_CLIENT_CONFIG 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
TELEPORT_MCP_CONFIG_JSON_FORMAT auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.

플래그:

플래그 기본값 설명
--client-config 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
--format 없음 구성 형식 지정 (claude, vscode, cursor). 제공되지 않으면 구성 파일에서 형식을 가정하며, 구성 파일이 제공되지 않으면 "claude"가 기본값입니다.
--json-format auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]overwrite false 구성 파일에서 명령 및 환경 변수를 덮어씁니다.
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
name 없음 (선택) 데이터베이스 서비스 이름.

tsh mcp ls#

사용 가능한 MCP 서버 애플리케이션을 나열합니다.

사용법:

$ tsh mcp ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 MCP 서버 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh mfa add#

새 MFA 디바이스를 추가합니다.

사용법:

$ tsh mfa add [<flags>]

플래그:

플래그 기본값 설명
--name 없음 새 MFA 디바이스의 이름
--type 없음 새 MFA 디바이스의 유형 (TOTP, WEBAUTHN)

tsh mfa ls#

등록된 MFA 디바이스 목록을 가져옵니다.

사용법:

$ tsh mfa ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-v, --[no-]verbose false MFA 디바이스에 대한 더 많은 정보 출력

tsh mfa rm#

MFA 디바이스를 제거합니다.

사용법:

$ tsh mfa rm <name>

인수:

인수 기본값 설명
name 없음 (필수) 제거할 MFA 디바이스의 이름 또는 ID

tsh piv agent#

PIV 키 에이전트를 시작합니다.

사용법:

$ tsh piv agent

tsh play#

녹화된 세션을 재생합니다 (SSH, Kubernetes, App, DB).

사용법:

$ tsh play [<flags>] <session-id>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format pty 출력 형식 (pty, json, yaml, text)
--[no-]skip-idle-time false 유휴 시간을 빠르게 건너뜁니다. SSH 또는 Kubernetes 세션을 스트리밍할 때 적용됩니다.
--speed 1x 재생 속도. SSH 또는 Kubernetes 세션을 스트리밍할 때 적용됩니다.

인수:

인수 기본값 설명
session-id 없음 (필수) 재생할 세션 파일의 ID 또는 경로

tsh proxy app#

단일 포트 모드에서 Teleport를 사용할 때 앱 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy app [<flags>] <app>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-p, --port 없음 프록시 앱 리스너가 사용하는 수신 포트를 지정합니다. 선택적으로 콜론 뒤에 다중 포트 TCP 앱의 대상 포트를 지정할 수 있습니다 (예: "1234:5678")

인수:

인수 기본값 설명
app 없음 (필수) 로컬 프록시를 시작할 애플리케이션의 이름

tsh proxy aws#

AWS 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy aws [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 AWS 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix. 또는 서비스 형식 지정: athena-odbc, athena-jdbc
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy azure#

Azure 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy azure [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 Azure 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy db#

단일 포트 모드에서 Teleport를 사용할 때 데이터베이스 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy db [<flags>] [<db>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--listen 없음 프록시 db 리스너가 사용하는 소스 주소를 지정합니다. --port와 함께 사용 불가.
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--[no-]insecure-listen-anywhere false 로컬 프록시가 제한 없이 모든 주소에서 수신할 수 있도록 허용합니다. 경고: 이것은 네트워크의 모든 사람에게 보안되지 않은 리스너를 노출합니다. 네트워크 접근이 달리 제한된 경우에만 사용하세요.
--[no-]tunnel false 데이터베이스의 클라이언트 인증서를 사용하여 인증된 터널을 열어 클라이언트가 인증할 필요가 없도록 합니다.
-p, --port 없음 프록시 db 리스너가 사용하는 소스 포트를 지정합니다.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 로컬 프록시를 시작할 데이터베이스의 이름.

tsh proxy gcloud#

GCP 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy gcloud [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy kube#

Kubernetes 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy kube [<flags>] [<kube-cluster>...]

플래그:

플래그 기본값 설명
--as 없음 사용자 지정 Kubernetes 사용자 가장을 구성합니다.
--as-groups 없음 사용자 지정 Kubernetes 그룹 가장을 구성합니다.
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]exec false 백그라운드에서 프록시를 실행하고 $KUBECONFIG가 이미 구성 파일을 가리키는 새 셸로 재실행합니다.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--set-context-name {}-{} 사용자 지정 컨텍스트 이름 또는 템플릿을 정의합니다.

인수:

인수 기본값 설명
kube-cluster 없음 (선택) 프록시할 Kubernetes 클러스터의 이름. 사용 가능한 클러스터 목록은 'tsh kube ls'에서 확인합니다. 지정되지 않으면 tsh kube login을 통해 이전에 로그인한 모든 클러스터가 사용됩니다.

tsh proxy mcp#

MCP 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy mcp [<flags>] <app>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-p, --port 없음 프록시 앱 리스너가 사용하는 수신 포트를 지정합니다.

인수:

인수 기본값 설명
app 없음 (필수) 로컬 프록시를 시작할 MCP 애플리케이션의 이름.

tsh proxy ssh#

단일 포트 모드에서 Teleport를 사용할 때 ssh 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy ssh [<flags>] <[user@]host>

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용

인수:

인수 기본값 설명
[user@]host 없음 (필수) 원격 호스트 이름 및 사용할 로그인

tsh recordings export#

녹화된 데스크톱 세션을 비디오로 내보냅니다.

사용법:

$ tsh recordings export [<flags>] <session-id>

플래그:

플래그 기본값 설명
--out 없음 출력 파일 이름 재정의

인수:

인수 기본값 설명
session-id 없음 (필수) 내보낼 세션의 ID

tsh recordings ls#

녹화된 세션을 나열합니다.

사용법:

$ tsh recordings ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml). 기본값은 'text'.
--from-utc 없음 녹화가 나열되는 시간 범위의 시작. 형식 2006-01-02. 기본값은 24시간 전.
--last 없음 세션 녹화가 나열되어야 하는 과거의 기간. 형식 5h30m40s
--limit 50 표시할 최대 녹화 수. 기본값 50.
--to-utc 없음 녹화가 나열되는 시간 범위의 끝. 형식 2006-01-02. 기본값은 현재 시간.

tsh request create#

새 액세스 요청을 생성합니다.

사용법:

$ tsh request create [<flags>]

플래그:

플래그 기본값 설명
--assume-start-time 없음 요청자가 역할을 가정할 수 있는 시간 설정 (RFC3339 예: 2023-12-12T23:20:50.52Z)
--max-duration 없음 액세스가 허용되는 기간
--[no-]nowait false 요청 해결을 기다리지 않고 완료합니다
--reason 없음 요청 이유
--request-ttl 없음 액세스 요청의 만료 시간
--resource 없음 요청할 리소스 ID
--reviewers 없음 제안된 검토자
--roles 없음 요청할 역할
--session-ttl 없음 상승된 인증서의 만료 시간

tsh request drop#

현재 ID에서 하나 이상의 액세스 요청을 삭제합니다.

사용법:

$ tsh request drop [<request-id>...]

인수:

인수 기본값 설명
request-id * (선택) 삭제할 요청의 ID (기본값은 모든 요청 삭제)

tsh request ls#

액세스 요청을 나열합니다.

사용법:

$ tsh request ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]my-requests false 현재 사용자가 생성한 요청만 표시
--[no-]reviewable false 현재 사용자가 검토할 수 있는 요청만 표시
--[no-]suggested false 현재 사용자를 검토자로 제안하는 요청만 표시

tsh request review#

액세스 요청을 검토합니다.

사용법:

$ tsh request review [<flags>] <request-id>

플래그:

플래그 기본값 설명
--assume-start-time 없음 요청자가 역할을 가정할 수 있는 시간 설정 (RFC3339 예: 2023-12-12T23:20:50.52Z)
--[no-]approve false 검토에서 승인 제안
--[no-]deny false 검토에서 거부 제안
--reason 없음 검토 이유 메시지

인수:

인수 기본값 설명
request-id 없음 (필수) 대상 요청의 ID

액세스를 요청할 리소스를 검색합니다.

사용법:

$ tsh request search [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--kind 없음 검색할 리소스 종류 (node, kube_cluster, kube_resource, db, app, windows_desktop, user_group, saml_idp_service_provider, aws_ic_account, aws_ic_account_assignment, git_server). --roles와 함께 사용 불가.
--kube-api-group 없음 리소스를 검색할 Kubernetes API 그룹.
--kube-cluster 없음 파드를 검색할 Kubernetes 클러스터
--kube-kind 없음 검색할 Kubernetes 리소스 종류 이름 (복수). --kind="kube_resource"와 함께 필수. 예: pods, deployments, namespaces 등.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--namespace default 파드를 검색할 Kubernetes 네임스페이스
--[no-]all-kube-namespaces false 모든 네임스페이스에서 파드 검색
--[no-]roles false 리소스 검색 대신 요청 가능한 역할 나열. --kind와 함께 사용 불가.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 전체 레이블 출력이 표시되는 상세 테이블 출력

tsh request show#

요청 세부 정보를 표시합니다.

사용법:

$ tsh request show [<flags>] <request-id>

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)

인수:

인수 기본값 설명
request-id 없음 (필수) 대상 요청의 ID

tsh resolve#

SSH 호스트를 해석합니다.

사용법:

$ tsh resolve [<flags>] <host>

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드

인수:

인수 기본값 설명
host 없음 (필수) 해석할 원격 호스트 이름

tsh scan keys#

로컬 머신에서 SSH 개인 키를 스캔하고 결과를 Teleport에 보고합니다.

사용법:

$ tsh scan keys [<flags>]

플래그:

플래그 기본값 설명
--dirs /Users/ 스캔할 디렉터리.
--skip-paths 없음 건너뛸 디렉터리 또는 파일의 경로. 패턴 매칭 지원.

tsh scopes ls#

사용자에게 할당된 권한이 있는 범위를 나열합니다.

사용법:

$ tsh scopes ls [<flags>]

플래그:

플래그 기본값 설명
-v, --[no-]verbose false 범위별 권한 세부 정보가 있는 테이블 표시.

tsh scp#

원격 SSH 노드로 파일을 전송합니다.

사용법:

$ tsh scp [<flags>] <from, to>...

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용
-p, --[no-]preserve false 원본 파일의 접근 및 수정 시간을 보존합니다
-P, --port 없음 원격 호스트에서 연결할 포트
-q, --[no-]quiet false 조용한 모드
-r, --[no-]recursive false 하위 디렉터리의 재귀적 복사

인수:

인수 기본값 설명
from, to 없음 (필수) 복사할 소스 및 대상. 하나는 로컬 경로이고 하나는 원격 경로여야 합니다

tsh sessions ls#

활성 세션을 나열합니다.

사용법:

$ tsh sessions ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--kind ssh,k8s,db,app,desktop 세션 종류로 필터링

tsh ssh#

원격 SSH 노드에서 셸을 실행하거나 명령을 실행합니다.

사용법:

$ tsh ssh [<flags>] [<[user@]host>] [<command>...]

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화
TELEPORT_REQUEST_MODE resource 자동 액세스 요청의 유형 (off, resource, role)

플래그:

플래그 기본값 설명
-A, --[no-]forward-agent false 대상 노드로 에이전트 전달
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-D, --dynamic-forward 없음 SOCKS5를 사용하여 로컬호스트 연결을 원격 서버로 전달
-f, --[no-]fork-after-authentication false 인증 완료 후 백그라운드에서 실행.
--invite 없음 세션에 초대된 것으로 표시할 사람들의 쉼표로 구분된 목록.
-L, --forward 없음 로컬호스트 연결을 원격 서버로 전달
--log-dir 없음 여러 노드에서 실행 시 분리된 명령 출력을 로그할 디렉터리. 설정된 경우 각 노드의 출력도 터미널에 레이블이 지정됩니다.
-N, --[no-]no-remote-exec false 원격 명령을 실행하지 않음. 포트 포워딩에 유용합니다
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화 (사용 중단됨: --request-mode=off를 사용하세요)
--[no-]local false SSH 노드에 연결한 후 로컬호스트에서 명령 실행
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]participant-req false 중재된 세션에서 필요한 참가자의 상세 목록을 표시합니다.
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용
-o, --option 없음 구성 파일에서 사용되는 형식의 OpenSSH 옵션
-p, --port 없음 원격 호스트의 SSH 포트
--reason 없음 세션의 목적.
--request-mode resource 자동 액세스 요청의 유형 (off, resource, role)
--request-reason 없음 액세스 요청 이유
-R, --remote-forward 없음 원격 연결을 로컬호스트로 전달
-t, --[no-]tty false TTY 할당
--x11-untrusted-timeout 10m 신뢰할 수 없는 X11 포워딩의 타임아웃을 설정합니다. 이후 클라이언트는 서버의 포워딩 요청을 거부합니다
-X, --[no-]x11-untrusted false 이 세션에 대해 신뢰할 수 없는 (안전한) X11 포워딩을 요청합니다
-Y, --[no-]x11-trusted false 이 세션에 대해 신뢰할 수 있는 (안전하지 않은) X11 포워딩을 요청합니다. 로컬 머신이 공격에 취약해질 수 있으니 주의해서 사용하세요

인수:

인수 기본값 설명
command 없음 (선택) 원격 호스트에서 실행할 명령
[user@]host 없음 (선택) 원격 호스트 이름 및 사용할 로그인. 이 인수는 필수입니다

tsh status#

프록시 서버 목록 및 검색된 인증서를 표시합니다.

사용법:

$ tsh status [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-v, --[no-]verbose false 성공적인 로그인 후 추가 상태 정보 표시

tsh svid issue#

Teleport 워크로드 아이덴티티를 사용하여 X509 자격 증명을 발행하고 로컬 디렉터리에 씁니다.

사용법:

$ tsh svid issue --output=OUTPUT [<flags>] <path>

플래그:

플래그 기본값 설명
--dns-san 없음 SVID에 포함할 DNS SAN. 기본적으로 포함되지 않습니다.
--ip-san 없음 SVID에 포함할 IP SAN. 기본적으로 포함되지 않습니다.
--output 없음 SVID를 쓸 디렉터리 경로.
--svid-ttl 1h SVID의 유효 기간을 설정합니다.
--type x509 발행할 SVID의 유형 (x509). 기본값은 x509.

인수:

인수 기본값 설명
path 없음 (필수) SVID SPIFFE ID에 사용할 경로. 앞에 '/'가 있어야 합니다.

tsh update#

클러스터 구성에서 정의된 최신 버전으로 클라이언트 도구 (tsh, tctl)를 업데이트합니다.

사용법:

$ tsh update [<flags>]

플래그:

플래그 기본값 설명
--[no-]clear false Teleport 홈 디렉터리에서 로컬로 설치된 클라이언트 도구 업데이트를 제거합니다.

tsh version#

현재 컨텍스트의 tsh 클라이언트 및 Proxy 서버 버전을 출력합니다.

사용법:

$ tsh version [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]client false 클라이언트 버전만 표시합니다 (서버 필요 없음).

tsh vnet#

TCP 애플리케이션 접근을 위한 가상 네트워크인 Teleport VNet을 시작합니다.

사용법:

$ tsh vnet

tsh vnet-ssh-autoconfig#

~/.ssh/config에 VNet에서 생성된 OpenSSH 호환 구성 파일을 자동으로 포함합니다.

사용법:

$ tsh vnet-ssh-autoconfig

tsh workload-identity issue-x509#

Teleport 워크로드 아이덴티티를 사용하여 X509 자격 증명을 발행하고 로컬 디렉터리에 씁니다.

사용법:

$ tsh workload-identity issue-x509 --output=OUTPUT [<flags>]

플래그:

플래그 기본값 설명
--credential-ttl 1h 자격 증명의 유효 기간을 설정합니다.
--label-selector 없음 발행할 워크로드 ID에 대한 레이블 기반 선택기. ','를 사용하여 여러 레이블을 제공할 수 있습니다.
--name-selector 없음 발행할 워크로드 ID의 이름
--output 없음 SVID를 쓸 디렉터리 경로.

tsh 참조

원문 보기
요약

이 가이드는 tsh의 명령어, 인수, 플래그에 대한 종합 목록을 제공합니다. tsh는 Teleport로 보호된 리소스에 접근하기 위한 CLI 클라이언트입니다. 앱에 대한 단기 인증서를 검색합니다. 사용 가능한 애플리케이션을 나열합니다.

이 가이드는 tsh의 명령어, 인수, 플래그에 대한 종합 목록을 제공합니다.

tsh는 Teleport로 보호된 리소스에 접근하기 위한 CLI 클라이언트입니다. 사용자가 클러스터의 현재 및 과거 세션과 상호 작용하고, 노드로/에서 파일을 복사하고, 클러스터에 대한 정보를 나열할 수 있게 해줍니다.

$ tsh [<flags>] <command> [<args> ...]

전역 플래그:

플래그 기본값 설명
--auth 없음 사용할 인증 커넥터의 이름을 지정합니다.
--bind-addr 없음 클러스터 로그인을 위해 브라우저를 열 때 사용하는 host:port를 재정의합니다
--callback 없음 클러스터 로그인을 위해 브라우저를 열 때 표시되는 링크의 기본 URL (host:port)을 재정의합니다. --bind-addr과 함께 사용해야 합니다.
--cert-format 없음 SSH 인증서 형식
-d, --[no-]debug false stdout에 상세 로깅.
-i, --identity 없음 ID 파일
-J, --jumphost 없음 SSH 점프 호스트
-k, --add-keys-to-agent auto 키를 처리하는 방법을 제어합니다. 유효한 값은 [auto no yes only]입니다.
-l, --login 없음 원격 호스트 로그인
--mfa-mode auto MFA 및 Passwordless 어설션의 선호 모드 (auto, cross-platform, platform, otp, sso)
--mlock auto 프로세스 메모리가 잠길지 여부와 실패 시 허용 여부를 결정합니다 (off, auto, best_effort, strict).
--[no-]enable-escape-sequences true SSH 이스케이프 시퀀스 지원을 활성화합니다. SSH 세션 중 '~?'를 입력하여 지원되는 시퀀스 목록을 확인합니다. 기본값은 활성화됨.
--[no-]headless false 헤드리스 로그인 사용. --auth=headless의 약어.
--[no-]insecure false 서버의 인증서 및 호스트 이름을 확인하지 않습니다. 테스트 환경에서만 사용
--[no-]os-log false 통합 로깅 시스템에 상세 로깅. 이 플래그는 --debug를 의미합니다. TELEPORT_OS_LOG 환경 변수를 통해서도 사용 가능. https://goteleport.com/docs/connect-your-client/tsh/#debug-logs
--[no-]skip-version-check false 서버와 클라이언트 간의 버전 확인을 건너뜁니다.
--piv-slot 없음 기본값 대신 하드웨어 키 지원에 사용할 PIV 슬롯 키를 지정합니다. 예: "9d"
--proxy 없음 Teleport proxy 주소
--relay 없음 Teleport relay 주소. "none"으로 relay 사용을 명시적으로 비활성화하거나, 로그인 시 다른 주소가 지정된 경우에도 클러스터에서 제공한 주소를 사용하려면 "default"를 사용합니다.
--ttl 없음 세션의 유효 시간 (분)
--user 없음 Teleport 사용자, 기본값은 현재 로컬 사용자

전역 환경 변수:

변수 기본값 설명
TELEPORT_ADD_KEYS_TO_AGENT auto 키를 처리하는 방법을 제어합니다. 유효한 값은 [auto no yes only]입니다.
TELEPORT_AUTH 없음 사용할 인증 커넥터의 이름을 지정합니다.
TELEPORT_CLUSTER none Teleport 루트 또는 리프 클러스터의 이름
TELEPORT_GLOBAL_TSH_CONFIG none 기본값 /etc/tsh.yaml에서 전역 tsh 구성 파일의 위치를 재정의합니다
TELEPORT_HEADLESS false 헤드리스 로그인 사용. --auth=headless의 약어.
TELEPORT_HOME none tsh 구성 및 데이터의 홈 위치
TELEPORT_IDENTITY_FILE 없음 ID 파일
TELEPORT_LOGIN 없음 원격 호스트 로그인
TELEPORT_LOGIN_BIND_ADDR 없음 클러스터 로그인을 위해 브라우저를 열 때 사용하는 host:port를 재정의합니다
TELEPORT_MFA_MODE auto MFA 및 Passwordless 어설션의 선호 모드 (auto, cross-platform, platform, otp, sso)
TELEPORT_MLOCK_MODE auto 프로세스 메모리가 잠길지 여부와 실패 시 허용 여부를 결정합니다 (off, auto, best_effort, strict).
TELEPORT_PIV_SLOT 없음 기본값 대신 하드웨어 키 지원에 사용할 PIV 슬롯 키를 지정합니다. 예: "9d"
TELEPORT_PROXY 없음 Teleport proxy 주소
TELEPORT_RELAY 없음 Teleport relay 주소. "none"으로 relay 사용을 명시적으로 비활성화하거나, 로그인 시 다른 주소가 지정된 경우에도 클러스터에서 제공한 주소를 사용하려면 "default"를 사용합니다.
TELEPORT_USER 없음 Teleport 사용자, 기본값은 현재 로컬 사용자

tsh apps config#

앱 연결 정보를 출력합니다.

사용법:

$ tsh apps config [<flags>] [<app>]

플래그:

플래그 기본값 설명
-f, --format 없음 선택적 출력 형식. 앱 주소를 출력하려면 "uri", CA 인증서 경로를 출력하려면 "ca", 인증서 경로를 출력하려면 "cert", 키 경로를 출력하려면 "key", 예제 curl 명령을 출력하려면 "curl", JSON 또는 YAML로 모든 것을 출력하려면 "json" 또는 "yaml".

인수:

인수 기본값 설명
app 없음 (선택) 정보를 출력할 앱. 여러 앱에 로그인된 경우 필수.

tsh apps login#

앱에 대한 단기 인증서를 검색합니다.

사용법:

$ tsh apps login [<flags>] <app>

플래그:

플래그 기본값 설명
--aws-role 없음 (AWS CLI 접근만 해당) Amazon IAM 역할 ARN 또는 역할 이름.
--azure-identity 없음 (Azure CLI 접근만 해당) Azure 관리 ID 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.
-q, --[no-]quiet false 조용한 모드
--target-port 없음 이 인증서를 사용하는 연결이 라우팅되어야 하는 포트. 다중 포트 TCP 앱에만 유효합니다.

인수:

인수 기본값 설명
app 없음 (필수) 자격 증명을 검색할 앱 이름. tsh apps ls 출력에서 확인할 수 있습니다.

tsh apps logout#

앱 인증서를 제거합니다.

사용법:

$ tsh apps logout [<app>]

인수:

인수 기본값 설명
app 없음 (선택) 자격 증명을 제거할 앱.

tsh apps ls#

사용 가능한 애플리케이션을 나열합니다.

사용법:

$ tsh apps ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 앱을 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 애플리케이션 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh aws#

AWS API에 접근합니다.

사용법:

$ tsh aws [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 AWS 애플리케이션의 선택적 이름.
--aws-role 없음 (AWS CLI 접근만 해당) Amazon IAM 역할 ARN 또는 역할 이름.
--exec 없음 Teleport 자격 증명 하에 다른 명령어 (예: terraform)를 실행

인수:

인수 기본값 설명
command 없음 (선택) AWS CLI에 전달될 AWS 명령어 및 하위 명령어 인수.

tsh az#

Azure API에 접근합니다.

사용법:

$ tsh az [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 Azure 애플리케이션의 선택적 이름.
--azure-identity 없음 (Azure CLI 접근만 해당) Azure 관리 ID 이름.

인수:

인수 기본값 설명
command 없음 (선택) Azure CLI에 전달될 az 명령어 및 하위 명령어 인수.

tsh clusters#

사용 가능한 Teleport 클러스터를 나열합니다.

사용법:

$ tsh clusters [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드
-v, --[no-]verbose false 전체 레이블 출력이 표시되는 상세 테이블 출력

tsh config#

OpenSSH 구성 세부 정보를 출력합니다.

사용법:

$ tsh config [<flags>]

플래그:

플래그 기본값 설명
-p, --port 없음 원격 호스트의 SSH 포트

tsh db config#

데이터베이스 연결 정보를 출력합니다. GUI 클라이언트를 구성할 때 유용합니다.

사용법:

$ tsh db config [<flags>] [<db>]

플래그:

플래그 기본값 설명
-f, --format 없음 출력 형식: 테이블 형식으로 출력하려면 "text" (기본값), 연결 명령어를 출력하려면 "cmd", JSON 또는 YAML로 출력하려면 "json" 또는 "yaml".
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 지정된 데이터베이스의 정보 출력.

tsh db connect#

데이터베이스에 연결합니다.

사용법:

$ tsh db connect [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 연결할 데이터베이스 서비스 이름.

tsh db env#

구성된 데이터베이스의 환경 변수를 출력합니다.

사용법:

$ tsh db env [<flags>] [<db>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 지정된 데이터베이스의 환경 출력

tsh db exec#

대상 데이터베이스 서비스에서 데이터베이스 명령을 실행합니다.

사용법:

$ tsh db exec [<flags>] <command>

플래그:

플래그 기본값 설명
--dbs 없음 대상 데이터베이스 서비스의 쉼표로 구분된 목록. --search 또는 --labels와 함께 사용 불가.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]confirm true 명령을 실행하기 전에 선택된 데이터베이스 서비스를 확인합니다.
--output-dir 없음 대상 데이터베이스 서비스별 명령 출력을 저장할 디렉터리. 요약은 "summary.json"으로 저장됩니다.
--parallel 1 대상 데이터베이스에서 병렬로 명령을 실행합니다. 기본값은 1, 최대 허용은 10.
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
command 없음 (필수) 대상 데이터베이스 서비스에서 실행할 명령.

tsh db login#

데이터베이스의 자격 증명을 검색합니다.

사용법:

$ tsh db login [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --db-name 없음 기본값으로 구성할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 기본값으로 구성할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 자격 증명을 검색할 데이터베이스. 'tsh db ls' 출력에서 확인할 수 있습니다.

tsh db logout#

데이터베이스 자격 증명을 제거합니다.

사용법:

$ tsh db logout [<flags>] [<db>]

플래그:

플래그 기본값 설명
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')

인수:

인수 기본값 설명
db 없음 (선택) 자격 증명을 제거할 데이터베이스.

tsh db ls#

사용 가능한 모든 데이터베이스를 나열합니다.

사용법:

$ tsh db ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 데이터베이스를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 데이터베이스 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh device enroll#

이 디바이스를 신뢰할 수 있는 디바이스로 등록합니다. Teleport Enterprise가 필요합니다.

사용법:

$ tsh device enroll [<flags>]

플래그:

플래그 기본값 설명
--[no-]current-device false 현재 디바이스를 등록하려고 시도합니다. 디바이스 관리자 권한이 필요합니다.
--token 없음 디바이스 등록 토큰

tsh env#

Teleport 세션 환경 변수를 설정하는 명령어를 출력합니다.

사용법:

$ tsh env [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]unset false Teleport 세션 환경 변수를 지우는 명령어 출력

tsh gcloud#

gcloud 명령으로 GCP API에 접근합니다.

사용법:

$ tsh gcloud [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.

인수:

인수 기본값 설명
command 없음 (선택) gcloud 명령어 및 하위 명령어 인수.

tsh git clone#

Git 저장소를 복제합니다.

사용법:

$ tsh git clone <repository> [<directory>]

인수:

인수 기본값 설명
directory 없음 (선택) 복제할 새 디렉터리의 이름.
repository 없음 (필수) 복제할 저장소의 Git URL.

tsh git config#

작업 중인 Git 디렉터리에서 Teleport 구성을 확인합니다. 또는 Git 저장소를 구성하기 위한 작업 ('update' 또는 'reset')을 제공합니다.

사용법:

$ tsh git config [<action>]

인수:

인수 기본값 설명
action 없음 (선택) 수행할 선택적 작업. 'update'는 Teleport를 통해 Git 명령을 프록시하도록 Git 저장소를 구성합니다. 'reset'은 Git 저장소에서 Teleport 구성을 지웁니다.

tsh git login#

브라우저를 열고 GitHub에서 로그인 정보를 검색합니다.

사용법:

$ tsh git login --github-org=GITHUB-ORG [<flags>]

플래그:

플래그 기본값 설명
--github-org 없음 GitHub 조직
--[no-]force false 강제 로그인

tsh git ls#

Git 서버를 나열합니다.

사용법:

$ tsh git ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh gsutil#

gsutil 명령으로 Google Cloud Storage에 접근합니다.

사용법:

$ tsh gsutil [<flags>] [<command>...]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
--gcp-service-account 없음 (GCP CLI 접근만 해당) GCP 서비스 계정 이름.

인수:

인수 기본값 설명
command 없음 (선택) gsutil 명령어 및 하위 명령어 인수.

tsh headless approve#

헤드리스 인증 요청을 승인합니다.

사용법:

$ tsh headless approve [<flags>] [<request id>]

환경 변수:

변수 기본값 설명
TELEPORT_HEADLESS_SKIP_CONFIRM false 확인을 건너뛰고 즉시 MFA를 요청합니다

플래그:

플래그 기본값 설명
--[no-]skip-confirm false 확인을 건너뛰고 즉시 MFA를 요청합니다

인수:

인수 기본값 설명
request id 없음 (선택) 헤드리스 인증 요청 ID

tsh help#

도움말을 표시합니다.

사용법:

$ tsh help [<command>...]

인수:

인수 기본값 설명
command 없음 (선택) 명령에 대한 도움말 표시.

tsh join#

활성 SSH 또는 Kubernetes 세션에 참가합니다.

사용법:

$ tsh join [<flags>] <session-id>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-m, --mode observer 세션에 참가하는 모드. 유효한 모드는 observer, moderator, peer입니다.

인수:

인수 기본값 설명
session-id 없음 (필수) 참가할 세션의 ID

tsh kube exec#

Kubernetes 파드에서 명령을 실행합니다.

사용법:

$ tsh kube exec [<flags>] <target> <command>...

플래그:

플래그 기본값 설명
-c, --container 없음 컨테이너 이름. 생략된 경우, kubectl.kubernetes.io/default-container 어노테이션을 사용하여 연결할 컨테이너를 선택하거나 파드의 첫 번째 컨테이너가 선택됩니다
-f, --filename 없음 리소스로 exec하는 데 사용할 파일
--invite 없음 세션에 초대된 것으로 표시할 사람들의 쉼표로 구분된 목록.
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]participant-req false 중재된 세션에서 필요한 참가자의 상세 목록을 표시합니다.
-q, --[no-]quiet false 원격 세션의 출력만 출력합니다
--reason 없음 세션의 목적.
-s, --[no-]stdin false 컨테이너에 stdin을 전달
-t, --[no-]tty false stdin이 TTY입니다

인수:

인수 기본값 설명
command 없음 (필수) 컨테이너에서 실행할 명령
target 없음 (필수) 파드 또는 디플로이먼트 이름

tsh kube join#

활성 Kubernetes 세션에 참가합니다.

사용법:

$ tsh kube join [<flags>] <session>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-m, --mode observer 세션에 참가하는 모드. 유효한 모드는 observer, moderator, peer입니다.

인수:

인수 기본값 설명
session 없음 (필수) 대상 세션의 ID.

tsh kube login#

Kubernetes 클러스터에 로그인합니다.

사용법:

$ tsh kube login [<flags>] [<kube-cluster>]

플래그:

플래그 기본값 설명
--as 없음 사용자 지정 Kubernetes 사용자 가장을 구성합니다.
--as-groups 없음 사용자 지정 Kubernetes 그룹 가장을 구성합니다.
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]all false 사용자가 접근 가능한 모든 클러스터로 kubeconfig를 생성합니다. --labels 또는 --query와 함께 사용 불가.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--request-reason 없음 액세스 요청 이유
--set-context-name {}-{} 사용자 지정 컨텍스트 이름을 정의합니다. --all과 함께 사용하려면 "{{.KubeName}}"을 포함합니다

인수:

인수 기본값 설명
kube-cluster 없음 (선택) 로그인할 Kubernetes 클러스터의 이름. 사용 가능한 클러스터 목록은 'tsh kube ls'에서 확인합니다.

tsh kube ls#

Kubernetes 클러스터 목록을 가져옵니다.

사용법:

$ tsh kube ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 Kubernetes 클러스터를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 레이블의 전체 목록 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh kube sessions#

활성 Kubernetes 세션 목록을 가져옵니다. (사용 중단됨: 대신 tsh sessions ls --kind=kube를 사용하십시오)

사용법:

$ tsh kube sessions [<flags>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml)

tsh kubectl#

Kubernetes 클러스터에서 kubectl 명령을 실행합니다.

사용법:

$ tsh kubectl [args...]

인수:

인수 기본값 설명
args 없음 (선택) 임의의 인수

tsh latency ssh#

특정 SSH 호스트에 대한 지연 시간을 측정합니다.

사용법:

$ tsh latency ssh [<flags>] <[user@]host>

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화

인수:

인수 기본값 설명
[user@]host 없음 (필수) 원격 호스트 이름 및 사용할 로그인

tsh login#

클러스터에 로그인하고 세션 인증서를 검색합니다.

사용법:

$ tsh login [<flags>] [<cluster>]

플래그:

플래그 기본값 설명
--browser 없음 로그인 시 브라우저 열기를 억제하려면 'none'으로 설정
-f, --format file ID 형식: file, openssh (OpenSSH 호환성용) 또는 kubernetes (kubeconfig용)
--kube-cluster 없음 로그인할 Kubernetes 클러스터의 이름
--[no-]overwrite false 기존 ID 파일을 덮어쓸지 여부.
--[no-]request-nowait false 요청 해결을 기다리지 않고 완료합니다
-o, --out 없음 ID 출력
--request-id 없음 지정된 요청에서 요청된 역할로 로그인합니다
--request-reason 없음 추가 역할을 요청하는 이유
--request-reviewers 없음 역할 요청을 위한 제안된 검토자
--request-roles 없음 하나 이상의 추가 역할 요청
--scope 없음 지정된 범위로 자격 증명을 고정합니다.
-v, --[no-]verbose false 추가 상태 정보 표시

인수:

인수 기본값 설명
cluster 없음 (선택) 연결할 Teleport 클러스터 지정

tsh logout#

클러스터 인증서를 삭제합니다.

사용법:

$ tsh logout

tsh ls#

원격 SSH 노드를 나열합니다.

사용법:

$ tsh ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format text 출력 형식 (text, json, yaml, names)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 클러스터 및 proxy에서 노드를 나열합니다.
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 한 줄 출력 (text 형식의 경우), 노드 UUID 포함

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh mcp config#

클라이언트 구성 세부 정보를 출력합니다.

사용법:

$ tsh mcp config [<flags>] [<name>]

환경 변수:

변수 기본값 설명
TELEPORT_MCP_CLIENT_CONFIG 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
TELEPORT_MCP_CONFIG_JSON_FORMAT auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.

플래그:

플래그 기본값 설명
--client-config 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
--format 없음 구성 형식 지정 (claude, vscode, cursor). 제공되지 않으면 구성 파일에서 형식을 가정하며, 구성 파일이 제공되지 않으면 "claude"가 기본값입니다.
-H, --header 없음 스트리밍 가능한 HTTP MCP 서버에 사용할 추가 사용자 지정 헤더.
--json-format auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--[no-]auto-reconnect false 이전 원격 세션이 네트워크 문제나 tsh 세션 만료로 중단될 때 자동으로 새 원격 MCP 세션을 시작합니다. 상태 비저장 MCP 세션에 권장됩니다. 기본값은 true.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-R, --[no-]all false 모든 MCP 서버를 선택합니다. --labels 또는 --query와 함께 사용 불가.

인수:

인수 기본값 설명
name 없음 (선택) MCP 서버의 이름.

tsh mcp db config#

클라이언트 구성 세부 정보를 출력합니다.

사용법:

$ tsh mcp db config [<flags>] [<name>]

환경 변수:

변수 기본값 설명
TELEPORT_MCP_CLIENT_CONFIG 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
TELEPORT_MCP_CONFIG_JSON_FORMAT auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.

플래그:

플래그 기본값 설명
--client-config 없음 지정된 경우, 해당 형식으로 가정하여 지정된 클라이언트 구성을 업데이트합니다. 기본 Claude Desktop 구성의 경우 "claude", 전역 Cursor MCP 서버 구성의 경우 "cursor", 또는 JSON 파일 경로를 지정합니다. TELEPORT_MCP_CLIENT_CONFIG 환경 변수로도 설정 가능.
--format 없음 구성 형식 지정 (claude, vscode, cursor). 제공되지 않으면 구성 파일에서 형식을 가정하며, 구성 파일이 제공되지 않으면 "claude"가 기본값입니다.
--json-format auto JSON 파일 형식 지정 (pretty, compact, auto, none). auto는 파일이 이미 compact이면 compact로, 그렇지 않으면 pretty로 저장합니다. TELEPORT_MCP_CONFIG_JSON_FORMAT 환경 변수로도 설정 가능. 기본값은 auto.
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]overwrite false 구성 파일에서 명령 및 환경 변수를 덮어씁니다.
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
name 없음 (선택) 데이터베이스 서비스 이름.

tsh mcp ls#

사용 가능한 MCP 서버 애플리케이션을 나열합니다.

사용법:

$ tsh mcp ls [<flags>] [<labels>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 추가 MCP 서버 필드 표시.

인수:

인수 기본값 설명
labels 없음 (선택) 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)

tsh mfa add#

새 MFA 디바이스를 추가합니다.

사용법:

$ tsh mfa add [<flags>]

플래그:

플래그 기본값 설명
--name 없음 새 MFA 디바이스의 이름
--type 없음 새 MFA 디바이스의 유형 (TOTP, WEBAUTHN)

tsh mfa ls#

등록된 MFA 디바이스 목록을 가져옵니다.

사용법:

$ tsh mfa ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-v, --[no-]verbose false MFA 디바이스에 대한 더 많은 정보 출력

tsh mfa rm#

MFA 디바이스를 제거합니다.

사용법:

$ tsh mfa rm <name>

인수:

인수 기본값 설명
name 없음 (필수) 제거할 MFA 디바이스의 이름 또는 ID

tsh piv agent#

PIV 키 에이전트를 시작합니다.

사용법:

$ tsh piv agent

tsh play#

녹화된 세션을 재생합니다 (SSH, Kubernetes, App, DB).

사용법:

$ tsh play [<flags>] <session-id>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format pty 출력 형식 (pty, json, yaml, text)
--[no-]skip-idle-time false 유휴 시간을 빠르게 건너뜁니다. SSH 또는 Kubernetes 세션을 스트리밍할 때 적용됩니다.
--speed 1x 재생 속도. SSH 또는 Kubernetes 세션을 스트리밍할 때 적용됩니다.

인수:

인수 기본값 설명
session-id 없음 (필수) 재생할 세션 파일의 ID 또는 경로

tsh proxy app#

단일 포트 모드에서 Teleport를 사용할 때 앱 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy app [<flags>] <app>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-p, --port 없음 프록시 앱 리스너가 사용하는 수신 포트를 지정합니다. 선택적으로 콜론 뒤에 다중 포트 TCP 앱의 대상 포트를 지정할 수 있습니다 (예: "1234:5678")

인수:

인수 기본값 설명
app 없음 (필수) 로컬 프록시를 시작할 애플리케이션의 이름

tsh proxy aws#

AWS 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy aws [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 AWS 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix. 또는 서비스 형식 지정: athena-odbc, athena-jdbc
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy azure#

Azure 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy azure [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 Azure 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy db#

단일 포트 모드에서 Teleport를 사용할 때 데이터베이스 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy db [<flags>] [<db>]

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--listen 없음 프록시 db 리스너가 사용하는 소스 주소를 지정합니다. --port와 함께 사용 불가.
-n, --db-name 없음 로그인할 데이터베이스 이름.
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화
--[no-]insecure-listen-anywhere false 로컬 프록시가 제한 없이 모든 주소에서 수신할 수 있도록 허용합니다. 경고: 이것은 네트워크의 모든 사람에게 보안되지 않은 리스너를 노출합니다. 네트워크 접근이 달리 제한된 경우에만 사용하세요.
--[no-]tunnel false 데이터베이스의 클라이언트 인증서를 사용하여 인증된 터널을 열어 클라이언트가 인증할 필요가 없도록 합니다.
-p, --port 없음 프록시 db 리스너가 사용하는 소스 포트를 지정합니다.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
-r, --db-roles 없음 자동 프로비저닝된 사용자에 사용할 쉼표로 구분된 데이터베이스 역할 목록.
--request-reason 없음 액세스 요청 이유
-u, --db-user 없음 로그인할 데이터베이스 사용자.

인수:

인수 기본값 설명
db 없음 (선택) 로컬 프록시를 시작할 데이터베이스의 이름.

tsh proxy gcloud#

GCP 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy gcloud [<flags>]

플래그:

플래그 기본값 설명
--app 없음 여러 앱에 로그인된 경우 사용할 GCP 애플리케이션의 선택적 이름.
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다.

tsh proxy kube#

Kubernetes 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy kube [<flags>] [<kube-cluster>...]

플래그:

플래그 기본값 설명
--as 없음 사용자 지정 Kubernetes 사용자 가장을 구성합니다.
--as-groups 없음 사용자 지정 Kubernetes 그룹 가장을 구성합니다.
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-f, --format unix 환경 변수를 설정하는 명령어를 출력하는 선택적 형식. 다음 중 하나: unix, command-prompt, powershell, text. 기본값은 unix.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
-n, --namespace 없음 기본 Kubernetes 네임스페이스를 구성합니다.
--[no-]exec false 백그라운드에서 프록시를 실행하고 $KUBECONFIG가 이미 구성 파일을 가리키는 새 셸로 재실행합니다.
-p, --port 없음 프록시 리스너가 사용하는 소스 포트를 지정합니다
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--set-context-name {}-{} 사용자 지정 컨텍스트 이름 또는 템플릿을 정의합니다.

인수:

인수 기본값 설명
kube-cluster 없음 (선택) 프록시할 Kubernetes 클러스터의 이름. 사용 가능한 클러스터 목록은 'tsh kube ls'에서 확인합니다. 지정되지 않으면 tsh kube login을 통해 이전에 로그인한 모든 클러스터가 사용됩니다.

tsh proxy mcp#

MCP 접근을 위한 로컬 프록시를 시작합니다.

사용법:

$ tsh proxy mcp [<flags>] <app>

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-p, --port 없음 프록시 앱 리스너가 사용하는 수신 포트를 지정합니다.

인수:

인수 기본값 설명
app 없음 (필수) 로컬 프록시를 시작할 MCP 애플리케이션의 이름.

tsh proxy ssh#

단일 포트 모드에서 Teleport를 사용할 때 ssh 연결을 위한 로컬 TLS 프록시를 시작합니다.

사용법:

$ tsh proxy ssh [<flags>] <[user@]host>

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용

인수:

인수 기본값 설명
[user@]host 없음 (필수) 원격 호스트 이름 및 사용할 로그인

tsh recordings export#

녹화된 데스크톱 세션을 비디오로 내보냅니다.

사용법:

$ tsh recordings export [<flags>] <session-id>

플래그:

플래그 기본값 설명
--out 없음 출력 파일 이름 재정의

인수:

인수 기본값 설명
session-id 없음 (필수) 내보낼 세션의 ID

tsh recordings ls#

녹화된 세션을 나열합니다.

사용법:

$ tsh recordings ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml). 기본값은 'text'.
--from-utc 없음 녹화가 나열되는 시간 범위의 시작. 형식 2006-01-02. 기본값은 24시간 전.
--last 없음 세션 녹화가 나열되어야 하는 과거의 기간. 형식 5h30m40s
--limit 50 표시할 최대 녹화 수. 기본값 50.
--to-utc 없음 녹화가 나열되는 시간 범위의 끝. 형식 2006-01-02. 기본값은 현재 시간.

tsh request create#

새 액세스 요청을 생성합니다.

사용법:

$ tsh request create [<flags>]

플래그:

플래그 기본값 설명
--assume-start-time 없음 요청자가 역할을 가정할 수 있는 시간 설정 (RFC3339 예: 2023-12-12T23:20:50.52Z)
--max-duration 없음 액세스가 허용되는 기간
--[no-]nowait false 요청 해결을 기다리지 않고 완료합니다
--reason 없음 요청 이유
--request-ttl 없음 액세스 요청의 만료 시간
--resource 없음 요청할 리소스 ID
--reviewers 없음 제안된 검토자
--roles 없음 요청할 역할
--session-ttl 없음 상승된 인증서의 만료 시간

tsh request drop#

현재 ID에서 하나 이상의 액세스 요청을 삭제합니다.

사용법:

$ tsh request drop [<request-id>...]

인수:

인수 기본값 설명
request-id * (선택) 삭제할 요청의 ID (기본값은 모든 요청 삭제)

tsh request ls#

액세스 요청을 나열합니다.

사용법:

$ tsh request ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]my-requests false 현재 사용자가 생성한 요청만 표시
--[no-]reviewable false 현재 사용자가 검토할 수 있는 요청만 표시
--[no-]suggested false 현재 사용자를 검토자로 제안하는 요청만 표시

tsh request review#

액세스 요청을 검토합니다.

사용법:

$ tsh request review [<flags>] <request-id>

플래그:

플래그 기본값 설명
--assume-start-time 없음 요청자가 역할을 가정할 수 있는 시간 설정 (RFC3339 예: 2023-12-12T23:20:50.52Z)
--[no-]approve false 검토에서 승인 제안
--[no-]deny false 검토에서 거부 제안
--reason 없음 검토 이유 메시지

인수:

인수 기본값 설명
request-id 없음 (필수) 대상 요청의 ID

액세스를 요청할 리소스를 검색합니다.

사용법:

$ tsh request search [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--kind 없음 검색할 리소스 종류 (node, kube_cluster, kube_resource, db, app, windows_desktop, user_group, saml_idp_service_provider, aws_ic_account, aws_ic_account_assignment, git_server). --roles와 함께 사용 불가.
--kube-api-group 없음 리소스를 검색할 Kubernetes API 그룹.
--kube-cluster 없음 파드를 검색할 Kubernetes 클러스터
--kube-kind 없음 검색할 Kubernetes 리소스 종류 이름 (복수). --kind="kube_resource"와 함께 필수. 예: pods, deployments, namespaces 등.
--labels 없음 레이블로 필터링할 쉼표로 구분된 레이블 목록 (예: key1=value1,key2=value2)
--namespace default 파드를 검색할 Kubernetes 네임스페이스
--[no-]all-kube-namespaces false 모든 네임스페이스에서 파드 검색
--[no-]roles false 리소스 검색 대신 요청 가능한 역할 나열. --kind와 함께 사용 불가.
--query 없음 단일 따옴표로 묶인 술어 언어로 쿼리. ==, !=, &&, || 지원 (예: --query='labels["key1"] == "value1" && labels["key2"] != "value2"')
--search 없음 쉼표로 구분된 검색 키워드 또는 따옴표로 묶인 구의 목록 (예: --search=foo,bar,"some phrase")
-v, --[no-]verbose false 전체 레이블 출력이 표시되는 상세 테이블 출력

tsh request show#

요청 세부 정보를 표시합니다.

사용법:

$ tsh request show [<flags>] <request-id>

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)

인수:

인수 기본값 설명
request-id 없음 (필수) 대상 요청의 ID

tsh resolve#

SSH 호스트를 해석합니다.

사용법:

$ tsh resolve [<flags>] <host>

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-q, --[no-]quiet false 조용한 모드

인수:

인수 기본값 설명
host 없음 (필수) 해석할 원격 호스트 이름

tsh scan keys#

로컬 머신에서 SSH 개인 키를 스캔하고 결과를 Teleport에 보고합니다.

사용법:

$ tsh scan keys [<flags>]

플래그:

플래그 기본값 설명
--dirs /Users/ 스캔할 디렉터리.
--skip-paths 없음 건너뛸 디렉터리 또는 파일의 경로. 패턴 매칭 지원.

tsh scopes ls#

사용자에게 할당된 권한이 있는 범위를 나열합니다.

사용법:

$ tsh scopes ls [<flags>]

플래그:

플래그 기본값 설명
-v, --[no-]verbose false 범위별 권한 세부 정보가 있는 테이블 표시.

tsh scp#

원격 SSH 노드로 파일을 전송합니다.

사용법:

$ tsh scp [<flags>] <from, to>...

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화

플래그:

플래그 기본값 설명
-c, --cluster 없음 연결할 Teleport 클러스터 지정
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용
-p, --[no-]preserve false 원본 파일의 접근 및 수정 시간을 보존합니다
-P, --port 없음 원격 호스트에서 연결할 포트
-q, --[no-]quiet false 조용한 모드
-r, --[no-]recursive false 하위 디렉터리의 재귀적 복사

인수:

인수 기본값 설명
from, to 없음 (필수) 복사할 소스 및 대상. 하나는 로컬 경로이고 하나는 원격 경로여야 합니다

tsh sessions ls#

활성 세션을 나열합니다.

사용법:

$ tsh sessions ls [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--kind ssh,k8s,db,app,desktop 세션 종류로 필터링

tsh ssh#

원격 SSH 노드에서 셸을 실행하거나 명령을 실행합니다.

사용법:

$ tsh ssh [<flags>] [<[user@]host>] [<command>...]

환경 변수:

변수 기본값 설명
TELEPORT_NO_RESUME false SSH 연결 재개 비활성화
TELEPORT_REQUEST_MODE resource 자동 액세스 요청의 유형 (off, resource, role)

플래그:

플래그 기본값 설명
-A, --[no-]forward-agent false 대상 노드로 에이전트 전달
-c, --cluster 없음 연결할 Teleport 클러스터 지정
-D, --dynamic-forward 없음 SOCKS5를 사용하여 로컬호스트 연결을 원격 서버로 전달
-f, --[no-]fork-after-authentication false 인증 완료 후 백그라운드에서 실행.
--invite 없음 세션에 초대된 것으로 표시할 사람들의 쉼표로 구분된 목록.
-L, --forward 없음 로컬호스트 연결을 원격 서버로 전달
--log-dir 없음 여러 노드에서 실행 시 분리된 명령 출력을 로그할 디렉터리. 설정된 경우 각 노드의 출력도 터미널에 레이블이 지정됩니다.
-N, --[no-]no-remote-exec false 원격 명령을 실행하지 않음. 포트 포워딩에 유용합니다
--[no-]disable-access-request false 자동 리소스 액세스 요청 비활성화 (사용 중단됨: --request-mode=off를 사용하세요)
--[no-]local false SSH 노드에 연결한 후 로컬호스트에서 명령 실행
--[no-]no-resume false SSH 연결 재개 비활성화
--[no-]participant-req false 중재된 세션에서 필요한 참가자의 상세 목록을 표시합니다.
--[no-]relogin true 실패한 명령에서 인증 시도 수행 허용
-o, --option 없음 구성 파일에서 사용되는 형식의 OpenSSH 옵션
-p, --port 없음 원격 호스트의 SSH 포트
--reason 없음 세션의 목적.
--request-mode resource 자동 액세스 요청의 유형 (off, resource, role)
--request-reason 없음 액세스 요청 이유
-R, --remote-forward 없음 원격 연결을 로컬호스트로 전달
-t, --[no-]tty false TTY 할당
--x11-untrusted-timeout 10m 신뢰할 수 없는 X11 포워딩의 타임아웃을 설정합니다. 이후 클라이언트는 서버의 포워딩 요청을 거부합니다
-X, --[no-]x11-untrusted false 이 세션에 대해 신뢰할 수 없는 (안전한) X11 포워딩을 요청합니다
-Y, --[no-]x11-trusted false 이 세션에 대해 신뢰할 수 있는 (안전하지 않은) X11 포워딩을 요청합니다. 로컬 머신이 공격에 취약해질 수 있으니 주의해서 사용하세요

인수:

인수 기본값 설명
command 없음 (선택) 원격 호스트에서 실행할 명령
[user@]host 없음 (선택) 원격 호스트 이름 및 사용할 로그인. 이 인수는 필수입니다

tsh status#

프록시 서버 목록 및 검색된 인증서를 표시합니다.

사용법:

$ tsh status [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
-v, --[no-]verbose false 성공적인 로그인 후 추가 상태 정보 표시

tsh svid issue#

Teleport 워크로드 아이덴티티를 사용하여 X509 자격 증명을 발행하고 로컬 디렉터리에 씁니다.

사용법:

$ tsh svid issue --output=OUTPUT [<flags>] <path>

플래그:

플래그 기본값 설명
--dns-san 없음 SVID에 포함할 DNS SAN. 기본적으로 포함되지 않습니다.
--ip-san 없음 SVID에 포함할 IP SAN. 기본적으로 포함되지 않습니다.
--output 없음 SVID를 쓸 디렉터리 경로.
--svid-ttl 1h SVID의 유효 기간을 설정합니다.
--type x509 발행할 SVID의 유형 (x509). 기본값은 x509.

인수:

인수 기본값 설명
path 없음 (필수) SVID SPIFFE ID에 사용할 경로. 앞에 '/'가 있어야 합니다.

tsh update#

클러스터 구성에서 정의된 최신 버전으로 클라이언트 도구 (tsh, tctl)를 업데이트합니다.

사용법:

$ tsh update [<flags>]

플래그:

플래그 기본값 설명
--[no-]clear false Teleport 홈 디렉터리에서 로컬로 설치된 클라이언트 도구 업데이트를 제거합니다.

tsh version#

현재 컨텍스트의 tsh 클라이언트 및 Proxy 서버 버전을 출력합니다.

사용법:

$ tsh version [<flags>]

플래그:

플래그 기본값 설명
-f, --format text 출력 형식 (text, json, yaml)
--[no-]client false 클라이언트 버전만 표시합니다 (서버 필요 없음).

tsh vnet#

TCP 애플리케이션 접근을 위한 가상 네트워크인 Teleport VNet을 시작합니다.

사용법:

$ tsh vnet

tsh vnet-ssh-autoconfig#

~/.ssh/config에 VNet에서 생성된 OpenSSH 호환 구성 파일을 자동으로 포함합니다.

사용법:

$ tsh vnet-ssh-autoconfig

tsh workload-identity issue-x509#

Teleport 워크로드 아이덴티티를 사용하여 X509 자격 증명을 발행하고 로컬 디렉터리에 씁니다.

사용법:

$ tsh workload-identity issue-x509 --output=OUTPUT [<flags>]

플래그:

플래그 기본값 설명
--credential-ttl 1h 자격 증명의 유효 기간을 설정합니다.
--label-selector 없음 발행할 워크로드 ID에 대한 레이블 기반 선택기. ','를 사용하여 여러 레이블을 제공할 수 있습니다.
--name-selector 없음 발행할 워크로드 ID의 이름
--output 없음 SVID를 쓸 디렉터리 경로.