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#
액세스를 요청할 리소스를 검색합니다.
사용법:
$ 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를 쓸 디렉터리 경로. |
