로컬 Windows 사용자 접근 구성
이 가이드는 로컬 Windows 사용자를 위한 Microsoft Windows 데스크톱에 대한 안전한 패스워드리스 접근을 제공하도록 Teleport를 구성하는 방법을 보여줍니다. 로컬 사용자를 위한 패스워드리스 접근은 Teleport Community Edition에서 5개의 데스크톱으로 제한됩니다.
이 가이드는 로컬 Windows 사용자를 위한 Microsoft Windows 데스크톱에 대한 안전한 패스워드리스 접근을 제공하도록 Teleport를 구성하는 방법을 보여줍니다.
로컬 사용자를 위한 패스워드리스 접근은 Teleport Community Edition에서 5개의 데스크톱으로 제한됩니다.
ad: false로 static_hosts에 5개 이상의 데스크톱이 등록된 경우, Teleport
Community Edition은 그 중 어떤 것에도 연결을 허용하지 않습니다.
Teleport Enterprise 사용자는 무제한 수의 데스크톱을 가질 수 있습니다.
작동 원리#
Teleport Desktop Service는 Teleport 프록시 서비스와 인프라의 원격 Windows 데스크톱 간의 트래픽을 프록시합니다. Teleport 사용자는 Teleport Connect 또는 Teleport Web UI를 사용하여 Windows 데스크톱에 연결합니다. 이러한 그래픽 클라이언트는 독점 Teleport Desktop Protocol을 사용하여 Teleport Desktop Service와 트래픽을 주고받으며, Desktop Service는 TDP 메시지를 원격 데스크톱 프로토콜 메시지로 변환합니다.
원격 데스크톱에 접근하려면 Teleport 사용자는 해당 데스크톱에 대한 적절한 권한이 있는 역할이 있어야 합니다. 관리자는 Teleport 인증 기관을 신뢰하도록 데스크톱을 구성하고, Windows Desktop Service는 인증서 기반 인증을 사용하여 데스크톱에 접근합니다.
사전 요구 사항#
이 가이드의 단계를 완료하려면 환경이 다음 요구 사항을 충족하는지 확인하세요:
-
A running Teleport cluster. If you want to get started with Teleport, sign up for a free trial or set up a demo environment.
-
The
tctlandtshclients.Installing `tctl` and `tsh` clients
-
Determine the version of your Teleport cluster. The
tctlandtshclients must be at most one major version behind your Teleport cluster version. Send a GET request to the Proxy Service at/v1/webapi/findand use a JSON query tool to obtain your cluster version. Replace with the web address of your Teleport Proxy Service:$ TELEPORT_DOMAIN= $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')" -
Follow the instructions for your platform to install
tctlandtshclients:
-
- Teleport Windows Desktop 서비스를 실행할 Linux 서버. 다른 Teleport 인스턴스를 실행하는 기존 서버를 재사용할 수 있습니다. 그러나 기존 Teleport 인스턴스에 Windows Desktop Service를 추가하려면 새 초대 토큰을 생성해야 합니다.
- 원격 데스크톱이 활성화되고 Linux 서버로부터의 인바운드 연결을 위해 RDP 포트(일반적으로 포트 3389)가 열려 있는 Microsoft Windows를 실행하는 물리적 또는 가상 머신.
To check that you can connect to your Teleport cluster, sign in with tsh login, then
verify that you can run tctl commands using your current credentials.
For example, run the following command, assigning to the domain name of the Teleport Proxy Service in your cluster and to your Teleport username:
$ tsh login --proxy= --user=
$ tctl status
# Cluster (=teleport.url=)
# Version (=teleport.version=)
# CA pin (=presets.ca_pin=)
If you can connect to the cluster and run the tctl status command, you can use your
current credentials to run subsequent tctl commands from your workstation.
If you host your own Teleport cluster, you can also run tctl commands on the computer that
hosts the Teleport Auth Service for full permissions.
1/4단계. Windows 준비#
Teleport로 보호할 리소스로 Microsoft Windows 데스크톱을 등록하기 전에, Teleport 인증 기관(CA)의 인증서로 Microsoft Windows 환경을 준비하고 원격 데스크톱 접근을 위한 기본 인증 서비스를 수정해야 합니다.
Windows 컴퓨터를 준비하려면:
-
등록하려는 Windows 컴퓨터에서 명령 프롬프트(
cmd.exe) 창을 엽니다. -
을 Teleport 클러스터 주소에 할당하여 다음 명령어를 실행하여 Teleport 인증 기관을 내보냅니다:
$ curl.exe -fo teleport.cer https:///webapi/auth/export?type=windowsTeleport의 HSM 지원 키를 사용하는 경우, Teleport 클러스터에는 여러 CA 인증서가 있습니다 (각 Auth Service 인스턴스당 하나). URL에
&format=zip을 추가하여 모든 CA가 포함된 번들을 다운로드할 수 있습니다.
- Teleport Windows Auth 설치 프로그램을 다운로드합니다:
$ curl.exe -fo teleport-windows-auth-setup-v(=teleport.version=)-amd64.exe https://cdn.teleport.dev/teleport-windows-auth-setup-v(=teleport.version=)-amd64.exe
-
다운로드한 실행 파일을 두 번 클릭하여 Teleport Windows Auth Setup 프로그램을 대화형으로 실행하고 프롬프트에서 내보낸 Teleport 인증서를 선택합니다.
Teleport의 HSM 지원 키를 사용하고 2단계에서 zip 파일을 다운로드한 경우, zip 파일의 압축을 풀고 각 CA 인증서에 대해 아래 프로세스를 반복해야 합니다. 모든 인증서를 설치할 때까지 재부팅을 미룰 수 있습니다.
설치 프로그램은 다음을 수행합니다:
- Windows가 Teleport 인증 기관을 신뢰하도록 설정합니다.
- Teleport가 사용할 필요한 동적 링크 라이브러리(DLL)를 설치합니다.
- 원격 데스크톱 서비스를 위한 네트워크 수준 인증(NLA)을 비활성화합니다.
- RemoteFX 압축을 활성화합니다.
Teleport 17.4.0 이하 버전에서 로컬 사용자를 위한 Windows auth 패키지는 "탐욕스럽게" 모든
스마트 카드 로그인을 처리하려고 합니다. 이로 인해 Teleport 외부에서 스마트 카드 로그인이
작동하지 않게 되고, Teleport를 사용하여 Active Directory 사용자로 연결하는 것도 불가능해집니다.
이 문제는 Teleport 17.4.0 이상에서는 더 이상 발생하지 않습니다. 동일한 호스트에서 로컬 사용자와
Active Directory 사용자로 연결하려면 호스트를 Teleport에 두 번 등록해야 합니다. 한 번은
ad: true로, 한 번은 ad: false로 등록합니다.
참고: Windows LSA(Local Security Authority)가 Teleport DLL을 로드하려면 LSA 보호가 비활성화되어 있어야 합니다.
-
컴퓨터를 다시 시작합니다.
완료되면 명령 프롬프트에서 다음 명령을 실행하고 목록에
teleport가 표시되는지 확인하여 Teleport 인증 패키지가 로드되었는지 확인할 수 있습니다:$ REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v "Authentication Packages"
설치 프로세스를 자동화하려면 다음 명령어로 관리자 명령 프롬프트 또는 PowerShell 콘솔에서 설치 프로그램을 실행할 수 있습니다:
$ teleport-windows-auth-setup-v(=teleport.version=)-amd64.exe install --cert=teleport.cer -r
2/4단계. Windows Desktop Service 구성#
클러스터에 등록하기 위한 Windows 컴퓨터를 준비했으므로, 다음 단계는 다음과 같습니다:
- 관리 워크스테이션에서 초대 토큰 생성.
- Windows Desktop Service를 실행하기 위한 Linux 서버 구성.
Windows Desktop Service를 구성하려면:
-
관리 워크스테이션에서 Teleport 클러스터에 로그인하여 신원을 인증합니다.
-
다음 명령어를 실행하여 단기 초대 토큰을 생성합니다:
$ tctl tokens add --type=windowsdesktop이 명령어는 다음과 유사한 정보를 표시합니다:
The invite token: (=presets.tokens.first=) This token will expire in 60 minutes. -
관리 워크스테이션에서 토큰을 복사하여 Windows Desktop Service를 실행할 Linux 서버의 파일에 붙여넣습니다.
예를 들어, Linux 서버에
/tmp/token파일을 만들고 토큰을 파일에 붙여넣습니다. -
다음 명령어를 실행하여 Windows Desktop Service를 실행할 Linux 서버에 Teleport가 설치되어 있는지 확인합니다:
$ teleport versionLinux 서버에 Teleport가 설치되어 있지 않으면 환경에 맞는 적절한 설치 지침을 따릅니다.
-
Windows Desktop Service를 위해 Linux 서버의
/etc/teleport.yaml파일을 다음과 유사한 설정으로 구성합니다:version: v3 teleport: nodename:You can check the status of the Teleport Windows Desktop Service with
systemctl status teleportand view its logs withjournalctl -fu teleport.3/4단계. 원격 Windows 데스크톱 접근 구성#
원격 데스크톱에 접근하려면 Teleport 사용자는 해당 데스크톱에 대한 적절한 권한이 있는 역할이 있어야 합니다.
데스크톱 접근을 위한 역할을 구성하려면:
-
관리 워크스테이션에서 Teleport 클러스터에 로그인하여 신원을 인증합니다.
-
새 역할을 정의하는
windows-desktop-admins.yaml파일을 만듭니다:kind: role version: v6 metadata: name: windows-desktop-admins spec: allow: windows_desktop_labels: "*": "*" windows_desktop_logins: ["Administrator", "alice"]이 파일에서:
windows_desktop_labels를 설정하여 특정 호스트에 대한 접근을 허용하거나 거부하는 데 사용할 레이블을 지정합니다.windows_desktop_logins를 설정하여 역할에 할당된 Teleport 사용자가 Windows 데스크톱에 접근하는 데 사용할 수 있는 Windows 로그인을 지정합니다.
Windows에 대한 역할 기반 접근 제어를 구성하는 방법에 따라, Teleport는 지정한
windows_desktop_logins에서 로컬 사용자 로그인을 자동으로 만들 수 있습니다. Teleport가 로컬 Windows 로그인을 만들 수 있도록 활성화하는 방법에 대한 자세한 내용은 자동 사용자 생성을 참조하세요. -
다음 명령어를 실행하여 클러스터에 새 역할을 적용합니다:
$ tctl create -f windows-desktop-admins.yaml
Assign the
windows-desktop-adminsrole to your Teleport user by running the appropriate commands for your authentication provider:4/4단계. 연결#
Windows Desktop Service를 실행하는 Linux 서버를 구성하고 로컬 Windows 로그인으로 Microsoft Windows에 연결할 수 있는 Teleport 사용자를 허용하는 역할을 만들었으므로,
windows-desktop-admins역할이 할당된 Teleport 사용자를 사용하여 Teleport Web UI에서 Windows 데스크톱에 연결할 수 있습니다. 또는 Teleport Connect를 사용하여 연결할 수 있습니다.Windows 데스크톱에 연결하려면:
-
windows-desktop-admins역할이 할당된 계정을 사용하여 Teleport 클러스터에 로그인합니다. -
Resources를 선택합니다.
-
Type을 클릭한 다음 Desktops를 선택합니다.
-
접근하려는 Windows 데스크톱의 Connect를 클릭한 다음 연결에 사용할 Windows 로그인을 선택합니다.

Teleport가 원격 데스크톱 연결을 열고 데스크톱 세션 녹화를 시작합니다. Windows 데스크톱 작업이 완료되면 More items 메뉴를 클릭한 다음 Disconnect를 클릭합니다.

녹화를 보려면 Teleport Web UI에서 Audit를 선택한 다음 메뉴에서 Session Recordings를 클릭합니다.
제거#
If you are using Teleport's Windows auth package to provide passwordless logins for local users, you can remove it by running the setup program from an administrative command prompt:
> teleport-windows-auth-setup.exe uninstallA reboot is necessary after the uninstall completes in order to fully remove the package.
다음 단계#
역할 생성, 할당 및 업데이트에 대한 일반적인 정보는 접근 제어 시작하기를 참조하세요. Windows 관련 역할 권한 구성에 대한 자세한 정보는 데스크톱을 위한 역할 기반 접근 제어를 참조하세요.
-
