인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
Teleport 클라이언트 소개
이 가이드는 Teleport에 인증하고 리소스에 접근하는 기본 사항을 다룹니다. Teleport로 보호된 리소스의 최종 사용자에게 작성되었으며, 끝 부분에 더 자세한 문서로 연결되는 링크가 포함되어 있습니다.
클라이언트 도구
tsh
tsh
를 사용하면 Teleport에 인증하고 리소스를 나열하고 연결할 수 있습니다. 다운로드 및 tsh
설치 후, Teleport 클러스터에 로그인하십시오:
tsh login
을 사용하여 로컬 사용자로 Teleport에 인증하고 user를 Teleport 사용자 이름으로 할당합니다:
tsh login --proxy=teleport.example.com --user=userTeleport 사용자 alice의 비밀번호를 입력하세요:보안 키를 선택하세요> 프로필 URL: https://teleport.example.com:443 로그인한 사용자: alice 클러스터: example.com 역할: access, requester 로그인: ubuntu, ec2-user Kubernetes: enabled 유효 기간: 2022-11-01 22:37:05 -0500 CDT [유효 기간 12시간0분0초] 확장: permit-agent-forwarding, permit-port-forwarding, permit-pty, private-key-policy
관리자가 구현한 경우, 인증 커넥터의 이름에 auth
플래그를 할당하여 tsh login
을 실행하여 SSO 사용자로 Teleport에 인증합니다:
tsh login --proxy=teleport.example.com --auth=your-idp-connector브라우저 창이 자동으로 열리지 않으면 링크를 클릭하여 열어주세요: http://127.0.0.1:49927/1d80e257-ec61-4ed2-9403-784f8d35b2fe> 프로필 URL: https://teleport.example.com:443 로그인한 사용자: user@example.com 클러스터: example.com 역할: access, requester 로그인: ubuntu, ec2-user Kubernetes: enabled 유효 기간: 2022-11-01 22:37:05 -0500 CDT [유효 기간 12시간0분0초] 확장: permit-agent-forwarding, permit-port-forwarding, permit-pty, private-key-policy
Teleport가 귀하의 네트워크에 대해 어떻게 구성되었는지에 따라 --auth
플래그가 필요하지 않을 수 있습니다. 귀하의 사용 사례에 필요한 세부정보는 관리자에게 제공되어야 합니다.
Teleport Connect
Teleport Connect 앱은 tsh
와 동일한 리소스 접근을 편리한 그래픽 사용자 인터페이스로 제공합니다. 다운로드 후 Teleport Connect를 설치하면 로그인하고 단일 창에서 서버 및 데이터베이스 접근을 위한 세션을 시작할 수 있습니다.
-
Teleport 클러스터에 연결하려면 CONNECT를 클릭하십시오:
-
Teleport 클러스터의 주소(예:
https://example.teleport.sh
)를 입력하고 NEXT를 클릭하십시오. -
Teleport Connect는 사용자 이름, 비밀번호 및 MFA를 요구합니다.
Teleport가 외부 Identity Provider (IdP)와 통합된 경우, 브라우저 창에서 해당 서비스로 인증하라는 메시지가 표시될 수 있습니다.
-
사용자가 접근할 수 있는 모든 리소스를 탐색하고 연결하십시오:
웹 UI
Teleport는 사용자가 Teleport와 상호작용할 수 있는 웹 인터페이스를 제공합니다. 예를 들어, 리소스에 접근하거나 Access Requests를 생성하는 등의 작업을 할 수 있습니다. 이는 일반적으로 Teleport에 연결하는 데 사용되는 동일한 URL(예: https://example.teleport.sh
)에서 찾을 수 있지만, 웹 UI URL은 Teleport 배포를 관리하는 팀과 확인해야 합니다.
웹 UI는 Teleport Connect와 유사한 리소스 접근을 제공하며, 적절한 권한이 있는 사용자에게 Request 및 Activity 로그에 대한 추가 접근을 제공합니다.
프로토콜
서버 접근 (ssh
)
tsh ls
를 사용하면 Teleport를 통해 접근할 수 있는 서버 목록이 표시됩니다:
tsh lsNode Name Address Labels------------------- --------------- ----------------------------server1.example.com 192.0.2.24:3022 access=servers,hostname=server1server2.example.com 192.0.2.32:3022 access=servers,hostname=server2
서버에 연결하려면:
tsh ssh ubuntu@server1.example.comubuntu@server1:~$
Servers 탭에서 연결할 서버 옆의 CONNECT를 클릭합니다. Teleport 사용자에게 사용 가능한 사용자 이름을 선택하거나 입력합니다.
새 탭에서 Teleport Connect가 연결을 시작하고 터미널 환경을 제공합니다.
Servers 메뉴에서 Teleport 웹 UI는 사용자가 접근할 수 있는 모든 서버를 나열합니다. CONNECT 버튼을 클릭하면 해당 서버에 접근하기 위한 터미널 에뮬레이터가 있는 새 탭이 열립니다.
Kubernetes 접근 (kubectl
)
Teleport를 통해 접근할 수 있는 Kubernetes 클러스터를 보려면, 다음 명령어를 실행합니다:
tsh kube lsKube Cluster Name Labels Selected ----------------- --------------------------- -------- mycluster env=dev
클러스터에 로그인하려면, 다음 명령어를 실행합니다. mycluster
를 tsh kube ls
에서 나열된 Kubernetes 클러스터 이름으로 변경합니다:
tsh kube login mycluster"mycluster" Kubernetes 클러스터에 로그인했습니다. 연결을 테스트하려면 'kubectl version'을 시도하십시오.
tsh kube login
을 통해 Teleport 클러스터에 로그인하면, tsh
가 kubeconfig를 선택한 Kubernetes 클러스터를 가리키도록 업데이트합니다. 그러면 클러스터에 대해 kubectl
명령을 실행할 수 있습니다.
Teleport Connect에서 클러스터에 로그인한 후, Kubes 탭을 클릭하여 접근할 수 있는 Kubernetes 클러스터 목록을 확인합니다.
선택한 클러스터 옆의 Connect를 클릭합니다. Teleport Connect는 새 탭에서 터미널을 열고 클러스터에 인증합니다. 그 후 클러스터와 상호작용하기 위해 kubectl
명령을 실행할 수 있습니다.
Teleport 웹 UI에서 Kubernetes 탭을 클릭합니다. 본인은 연결할 수 있는 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 세션의 왼쪽 상단 모서리에 있는 화살표를 사용하여 파일을 업로드 및 다운로드할 수 있습니다:
시스템에서 파일을 드래그 앤 드롭하여 업로드할 수 있습니다:
Web UI의 왼쪽 상단 모서리에 있는 화살표를 사용하여 파일을 다운로드할 수 있습니다:
드래그 앤 드롭을 사용하여 업로드할 수도 있습니다:
데이터베이스 접근
tsh db ls
명령은 사용자가 사용할 수 있는 데이터베이스 목록을 표시합니다:
tsh db lsName Description Allowed Users Labels Connect----------------------------------------------- ----------- --------------- ------- -------------------------myelastic [alice elastic] env=devmysql-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 --tunnelElasticsearch 데이터베이스 "myelastic"에 대한 인증된 터널이 클러스터 "example.come"의 192.0.2.58:52669에서 시작되었습니다.
데이터베이스에 연결하려면 다음 명령 중 하나를 사용하십시오:
* 대화형 SQL 연결:
$ elasticsearch-sql-cli http://localhost:52669/
* curl로 단일 요청 실행:
$ curl http://localhost:52669/
데이터베이스 인증서 갱신됨: 2022-11-02T06:11:50Z까지 유효 [유효 기간 9h55m0s]
데이터베이스 탭에서 접근하려는 데이터베이스를 선택하고 연결을 클릭하십시오. Teleport 사용자에게 사용 가능한 사용자 이름을 선택하거나 입력하십시오.
Teleport Connect는 데이터베이스에 대한 터널 연결을 엽니다. 포트 번호를 복사하여 localhost
의 GUI 앱에 연결하거나 실행을 클릭하여 Teleport Connect 내에서 CLI 연결을 시작할 수 있습니다:
Teleport Web UI는 데이터베이스에 대한 직접 연결을 제공할 수는 없지만, 사용자에게 접근 가능한 데이터베이스를 데이터베이스 아래에 나열하고, 로컬 터미널 환경에서 연결하기 위한 tsh
명령을 제공합니다.
데스크탑 액세스
데스크탑 액세스는 Teleport 웹 UI를 통해 제공됩니다.
- 브라우저에서 Teleport 클러스터로 이동합니다 (예:
https://example.teleport.sh
). - 오른쪽 메뉴에서 데스크탑 을 선택합니다.
- 액세스할 데스크탑 옆에서 연결을 클릭합니다. Teleport 사용자에게 사용할 수 있는 사용자 이름을 선택하거나 입력합니다.
- Teleport는 새 브라우저 탭이나 창을 열고 RDP 세션을 시작합니다. 지정된 사용자로 로그인하는 데 잠시 기다려야 할 수도 있습니다.
다음 단계
이 가이드에서는 최종 사용자를 위한 Teleport의 기본 설치 및 액세스를 다루지만, 클라이언트 연결 섹션의 나머지 부분에서는 더 자세한 정보를 제공합니다.
-
tsh
는 Teleport를 통해 리소스에 접근하는 CLI 도구입니다. 이를 통해 Teleport에 인증하고 사용 가능한 서비스를 나열하며 직접 또는 프록시 터널을 통해 연결할 수 있습니다.tsh 명령줄 도구 사용하기 에서 더 자세히 알아보세요.
-
Teleport Connect는 Teleport를 통해 리소스에 연결하는 그래픽 유틸리티입니다. 이를 사용하여 서버, 데이터베이스 및 Kubernetes 클러스터에 연결합니다. Teleport Connect 사용하기 를 참조하세요.
- 데이터베이스 액세스 GUI 클라이언트 는 Teleport를 통해 많은 인기 데이터베이스 GUI 클라이언트에 연결하는 방법을 자세히 설명합니다.