Teleport 클라이언트 소개
이 가이드는 Teleport에 인증하고 리소스에 접근하는 기본 사항을 다룹니다. Teleport는 보호된 인프라에 접근하는 세 가지 도구를 제공합니다. 각 도구가 다른 리소스 세트에 대한 접근을 제공하고 다른 사용자 경험을 제공하므로 세 가지 도구 모두에 익숙해야 합니다.
이 가이드는 Teleport에 인증하고 리소스에 접근하는 기본 사항을 다룹니다. Teleport로 보호된 리소스의 최종 사용자를 위해 작성되었으며, 마지막에 더 자세한 문서 링크가 포함되어 있습니다.
클라이언트 선택#
Teleport는 보호된 인프라에 접근하는 세 가지 도구를 제공합니다. tsh는 명령줄 클라이언트이고, Teleport Connect는 그래픽 네이티브 클라이언트이며, Teleport 웹 UI는 Teleport 클러스터의 URL에서 사용 가능한 브라우저 기반 콘솔입니다.
각 도구가 다른 리소스 세트에 대한 접근을 제공하고 다른 사용자 경험을 제공하므로 세 가지 도구 모두에 익숙해야 합니다. 이 섹션에는 각 클라이언트 도구에서 사용 가능한 기능 요약이 포함되어 있습니다.
인프라 접근:
| 리소스 | Teleport Connect | 웹 UI | tsh |
|---|---|---|---|
| 브라우저 기반 웹 애플리케이션 | ⚠️1 | ✅ | ❌ |
| TCP 앱 및 HTTP API | ✅ | ❌ | ✅ |
| GUI 클라이언트 도구가 있는 데이터베이스 | ✅ | ❌ | ✅ |
| 명령줄 클라이언트가 있는 데이터베이스 | ✅ | ⚠️2 | ✅ |
| 원격 데스크톱 | ✅ | ✅ | ❌ |
| Kubernetes 클러스터 | ✅ | ⚠️3 | ✅ |
| Linux 서버 (Teleport SSH 서비스) | ✅ | ✅ | ✅ |
| MCP 서버 | ✅ | ⚠️2 | ✅ |
1 Teleport Connect의 브라우저 기반 웹 애플리케이션은 기본 웹 브라우저에서 열립니다.
2 접근에 명령줄 도구가 필요한 리소스의 경우 Teleport 웹 UI는 터미널을 사용하여 리소스에 접근하는 방법에 대한 지침을 보여줍니다. 웹 UI에서 특정 데이터베이스와 세션을 시작할 수 있습니다. 지원되는 데이터베이스는 데이터베이스 세션 시작을 참조하세요.
3 Teleport 웹 UI에서 브라우저 기반 터미널을 사용하여 Kubernetes 파드에 exec할 수 있습니다. 전체 kubectl 접근은 지원되지 않습니다.
기타 클라이언트 작업:
| 작업 | Teleport Connect | 웹 UI | tsh |
|---|---|---|---|
| 접근 요청 관리 | ✅ | ✅ | ✅ |
| VNet 시작 | ✅ | ❌ | ✅ |
| 세션 녹화 접근 | ❌ | ✅ | ✅ |
tsh#
tsh는 Teleport에 인증하고 리소스를 나열하고 연결할 수 있게 해줍니다. tsh를 다운로드하고 설치한 후 Teleport 클러스터에 로그인하세요:
를 Teleport 사용자 이름으로, 을 Teleport 클러스터의 도메인 이름으로 지정하여 tsh login으로 로컬 사용자로 Teleport에 인증하세요:
$ tsh login --proxy= --user=
Enter password for Teleport user alice:
Tap any security key
> Profile URL: https://teleport.example.com:443
Logged in as: alice
Cluster: example.com
Roles: access, requester
Logins: ubuntu, ec2-user
Kubernetes: enabled
Valid until: 2022-11-01 22:37:05 -0500 CDT [valid for 12h0m0s]
Extensions: permit-agent-forwarding, permit-port-forwarding, permit-pty, private-key-policy
관리자가 구현한 경우 tsh login을 실행하고 를 인증 커넥터 이름으로 지정하여 SSO 사용자로 Teleport에 인증하세요:
$ tsh login --proxy= --auth=
If browser window does not open automatically, open it by clicking on the link:
http://127.0.0.1:49927/1d80e257-ec61-4ed2-9403-784f8d35b2fe
> Profile URL: https://teleport.example.com:443
Logged in as: user@example.com
Cluster: example.com
Roles: access, requester
Logins: ubuntu, ec2-user
Kubernetes: enabled
Valid until: 2022-11-01 22:37:05 -0500 CDT [valid for 12h0m0s]
Extensions: permit-agent-forwarding, permit-port-forwarding, permit-pty, private-key-policy
네트워크에 Teleport가 구성된 방법에 따라 추가 플래그 --auth가 필요하지 않을 수 있습니다. 관리자가 특정 사용 사례에 필요한 세부 정보를 제공해야 합니다.
Teleport Connect#
Teleport Connect 앱은 친숙한 그래픽 사용자 인터페이스에서 tsh와 동일한 리소스 접근을 제공합니다. Teleport Connect를 다운로드하고 설치한 후 단일 창에서 서버 및 데이터베이스 접근을 위해 로그인하고 세션을 시작할 수 있습니다.
-
CONNECT를 클릭하여 Teleport 클러스터에 연결하세요:

-
Teleport 클러스터 주소(예:
https://example.teleport.sh)를 입력하고 NEXT를 클릭하세요. -
Teleport Connect가 사용자 이름, 비밀번호, MFA를 요청합니다.
Teleport가 외부 ID 공급자(IdP)와 통합된 경우 브라우저 창에서 해당 서비스로 인증하라는 메시지가 표시될 수 있습니다.
-
사용자가 접근할 수 있는 모든 리소스를 탐색하고 연결하세요:

웹 UI#
Teleport는 사용자가 리소스에 접근하거나 접근 요청을 만드는 등 Teleport와 상호작용할 수 있는 웹 인터페이스를 제공합니다. 이는 일반적으로 Teleport에 연결하는 데 사용되는 것과 동일한 URL(예: https://example.teleport.sh)에서 찾을 수 있지만 Teleport 배포를 관리하는 팀과 웹 UI URL을 확인해야 합니다.
웹 UI는 Teleport Connect와 유사한 리소스 접근을 제공하며, 올바른 권한이 있는 사용자에게 요청 및 활동 로그에 대한 추가 접근을 제공합니다.
리소스에 연결#
이 섹션은 Teleport 클라이언트 도구를 사용하여 인프라의 리소스에 연결하는 몇 가지 방법에 대한 개요를 제공합니다.
서버 접근 (ssh)#
tsh ls는 Teleport를 통해 접근할 수 있는 서버를 나열합니다:
$ tsh ls
Node Name Address Labels
------------------- --------------- ----------------------------
server1.example.com 192.0.2.24:3022 access=servers,hostname=server1
server2.example.com 192.0.2.32:3022 access=servers,hostname=server2
서버에 연결하려면:
$ tsh ssh ubuntu@server1.example.com
ubuntu@server1:~$
Servers 탭에서 접근하려는 서버 옆의 CONNECT를 클릭하세요. Teleport 사용자에게 사용 가능한 사용자 이름을 선택하거나 입력하세요.
새 탭에서 Teleport Connect가 연결을 시작하고 터미널 환경을 제공합니다.
Servers 메뉴에서 Teleport 웹 UI는 사용자가 접근할 권한이 있는 모든 서버를 나열합니다. CONNECT 버튼을 클릭하면 해당 서버에 접근하기 위한 터미널 에뮬레이터가 있는 새 탭이 열립니다.
Kubernetes 접근 (kubectl)#
Teleport를 통해 접근할 수 있는 Kubernetes 클러스터를 보려면 다음 명령을 실행하세요:
$ tsh kube ls
Kube Cluster Name Labels Selected
----------------- --------------------------- --------
mycluster env=dev
클러스터에 로그인하려면 tsh kube ls에 나열된 Kubernetes 클러스터 이름으로 mycluster를 변경하여 다음 명령을 실행하세요:
$ tsh kube login mycluster
Logged into kubernetes cluster "mycluster". Try 'kubectl version' to test the
connection.
tsh kube login을 통해 Teleport 클러스터에 로그인하면 tsh가 선택한 Kubernetes 클러스터를 가리키도록 kubeconfig를 업데이트합니다. 그런 다음 클러스터에 대해 kubectl 명령을 실행할 수 있습니다.
Teleport Connect에서 클러스터에 로그인한 후 Kubes 탭을 클릭하여 접근할 수 있는 Kubernetes 클러스터 목록을 볼 수 있습니다.

선택한 클러스터 옆의 Connect를 클릭하세요. Teleport Connect가 새 탭에서 터미널을 열고 클러스터에 인증합니다. 그런 다음 kubectl 명령을 실행하여 클러스터와 상호작용할 수 있습니다.

Teleport 웹 UI에서 Kubernetes 탭을 클릭하세요. Teleport 사용자가 연결할 권한이 있는 Kubernetes 클러스터 목록이 표시됩니다.

선택한 클러스터를 찾고 Connect를 클릭하세요. Teleport를 통해 클러스터에 연결하기 위해 터미널에서 실행할 수 있는 명령을 나열하는 모달 창이 표시됩니다.

파일 전송#
tsh scp를 사용하면 Teleport 뒤에 있는 서버로 파일을 전송할 수 있습니다:
$ tsh scp some-file.ext server.example.com:
some-file.ext 7% |███████ | (25/342 MB, 2.9 MB/s) [9s:1m48s]
Teleport Connect를 사용하면 macOS, Linux, Windows에서 원격 서버로 파일을 전송할 수 있습니다. 활성 SSH 세션의 왼쪽 상단 모서리에 있는 화살표를 사용하여 파일을 업로드하고 다운로드할 수 있습니다:

드래그 앤 드롭을 사용하여 시스템에서 파일을 업로드할 수 있습니다:

웹 UI의 왼쪽 상단 모서리에 있는 화살표를 사용하여 파일을 다운로드할 수 있습니다:

또는 드래그 앤 드롭을 사용하여 업로드할 수 있습니다:

데이터베이스 접근#
tsh db ls는 사용자가 사용 가능한 데이터베이스를 나열합니다:
$ tsh db ls
Name Description Allowed Users Labels Connect
----------------------------------------------- ----------- --------------- ------- -------------------------
myelastic [alice elastic] env=dev
mysql-server1 (user: alice, db: teleport_example) [alice elastic] env=dev tsh db connect mysql-server1
tsh를 통해 데이터베이스 서버에 연결하려면 해당 데이터베이스의 로컬 클라이언트가 필요합니다. 예를 들어 MySQL 또는 MariaDB 데이터베이스에 연결하려면 MySQL CLI 클라이언트가 필요합니다:
$ tsh db connect --db-user=alice --db-name=teleport_example mysql-server1
이 예에서 teleport_example은 MySQL 서버의 기존 데이터베이스입니다:
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| teleport_example |
+--------------------+
4 rows in set (0.09 sec)
다른 연결 유형이나 그래픽 데이터베이스 클라이언트를 연결하려면 소프트웨어가 가리킬 로컬 터널을 만들 수 있습니다:
$ tsh proxy db myelastic --db-user=alice --tunnel
Started authenticated tunnel for the Elasticsearch database "myelastic" in cluster "example.com" on 192.0.2.58:52669.
Use one of the following commands to connect to the database:
* interactive SQL connection:
$ elasticsearch-sql-cli http://localhost:52669/
* run single request with curl:
$ curl http://localhost:52669/
Database certificate renewed: valid until 2022-11-02T06:11:50Z [valid for 9h55m0s]
Databases 탭에서 접근하려는 데이터베이스를 선택하고 CONNECT를 클릭하세요. Teleport 사용자에게 사용 가능한 사용자 이름을 선택하거나 입력하세요.
Teleport Connect가 데이터베이스에 대한 터널 연결을 열 것입니다. 포트 번호를 복사하고 localhost에서 GUI 앱으로 연결하거나, RUN을 클릭하여 Teleport Connect 내에서 CLI 연결을 시작할 수 있습니다:

Teleport 웹 UI는 사용자가 접근할 수 있는 모든 데이터베이스를 보여주며 일부 데이터베이스에 대해서만 브라우저 기반 세션을 제공합니다. 브라우저에서 접근할 수 없는 데이터베이스의 경우 웹 UI는 개발자 워크스테이션에서 연결하는 데 필요한 tsh 명령을 보여줍니다.
브라우저에서 직접 데이터베이스에 접근하는 방법에 대한 자세한 내용은 Teleport 웹 UI의 데이터베이스 세션 시작을 참조하세요.
데스크톱 접근#
데스크톱 접근은 Teleport 웹 UI를 통해 제공됩니다.
- 브라우저에서 Teleport 클러스터(예:
https://example.teleport.sh)로 이동하세요. - 오른쪽 메뉴에서 Desktops를 선택하세요.
- 접근하려는 데스크톱 옆의 CONNECT를 클릭하세요. Teleport 사용자에게 사용 가능한 사용자 이름을 선택하거나 입력하세요.
- Teleport가 새 브라우저 탭 또는 창을 열고 RDP 세션을 시작합니다. 지정된 사용자로 로그인하기 위해 잠시 기다려야 할 수 있습니다.
다음 단계#
이 가이드는 최종 사용자를 위한 Teleport의 기본 설치 및 접근을 다루지만, 클라이언트 연결 섹션의 나머지 부분에서 더 자세한 정보를 제공합니다.
-
tsh는 Teleport를 통해 리소스에 접근하는 CLI 도구입니다. 이를 사용하여 Teleport에 인증하고, 사용 가능한 서비스를 나열하고, 직접 또는 프록시 터널을 통해 연결할 수 있습니다.tsh 명령줄 도구 사용에서 자세히 알아보세요.
-
Teleport Connect는 Teleport를 통해 리소스에 연결하는 그래픽 유틸리티입니다. 서버, 데이터베이스, Kubernetes 클러스터에 연결하는 데 사용합니다. Teleport Connect 사용을 참조하세요.
-
GUI 클라이언트로 Teleport 보호 데이터베이스에 접근: Teleport를 통해 많은 인기 있는 데이터베이스 GUI 클라이언트를 연결하는 방법을 자세히 설명합니다.
