Infograb logo
데스크탑 접근 문제 해결

일반적인 문제와 해결 단계.

인증서가 만료되었거나 아직 유효하지 않음

원격 데스크탑 접근이 제대로 작동하려면 Teleport에서 발급한 인증서가 여러 구성 요소에 의해 유효성이 검사되어야 합니다. 이러한 구성 요소들이 현재 시간이 얼마인지에 대해 동의하지 않으면, Teleport가 제대로 작동하지 못하게 하는 인증서 유효성 검사 오류를 경험할 수 있습니다.

이러한 오류는 잘못된 시스템 시계가 있는 시스템에 따라 여러 다른 방식으로 나타날 수 있습니다.

예를 들어, Teleport가 원격 데스크탑 세션을 시작하지만 원격 데스크탑의 로그인 화면에 다음과 유사한 오류가 표시될 수 있습니다:

인증에 사용된 스마트 카드 인증서가 만료되었습니다. 시스템 관리자에게 문의하십시오.

또는 원격 데스크탑 연결이 설정되기 전에 Teleport 웹 UI에서 오류가 발생할 수 있습니다:

원격 오류 tls 만료된 인증서

해결책: 모든 시스템의 시스템 시계 확인

이 문제를 해결하려면 다음 구성 요소의 시스템 시계가 동기화되어야 합니다:

  • Teleport Auth 서비스
  • Teleport Proxy 서비스
  • Teleport Windows 데스크탑 서비스
  • 대상 Windows 호스트

NTP를 이러한 시스템에서 사용하여 시스템 시계가 정확하게 유지되도록 하는 것이 좋습니다. systemd가 실행 중인 Linux 시스템에서는 다음 명령어로 시스템 시계 설정을 확인할 수 있습니다:

timedatectl

다음은 올바르게 구성된 시스템의 예입니다:

               로컬 시간: 2024-09-11 13:45:17 UTC
           세계 표준시: 2024-09-11 13:45:17 UTC
                 RTC 시간: 2024-09-11 13:45:17
                시간대: Etc/UTC (UTC, +0000)
시스템 시계 동기화됨: 
              NTP 서비스: 활성
          RTC 로컬 TZ: 아니오

이 예에서 NTP 서비스가 활성으로 표시되고 시스템 시계가 동기화되어 있음을 볼 수 있습니다. 출력이 위와 다르면 시계 설정을 재구성해야 할 수 있습니다.

자동 로그인 작동하지 않음

스마트 카드 서비스가 실행되지 않음

Teleport UI에서 Windows 호스트에 연결하여 Windows 로그인 화면에 도착했으나 아무런 반응이 없습니다.

사용자 이름을 클릭하고 로그인 옵$1 을 클릭한 후 스마트 카드 아이콘을 클릭할 수 있습니다. 오류 메시지는 다음과 같습니다: "이 스마트 카드에 유효한 인증서가 없습니다".

해결책: 스마트 카드 서비스 활성화

대부분의 경우, 이는 대상 호스트에서 스마트 카드 서비스가 실행되지 않음을 의미합니다.

먼저 그룹 정책에서 스마트 카드 서비스를 활성화합니다.

그렇지 않은 경우, 대상 호스트에 직접 로그인하여 "시작" 메뉴에서 "서비스" 프로그램을 열고 "스마트 카드" 서비스가 "실행 중" 상태인지 확인합니다.

"스마트 카드" 서비스가 실행되고 있지 않으면 PowerShell을 열고 gpupdate.exe /force 를 실행합니다. 이는 그룹 정책 동기화를 강제하는 것으로, 서비스 변경 사항을 반영해야 합니다.

스마트 카드 PIN 인식되지 않음

Teleport는 각 새로운 데스크탑 세션에 대해 스마트 카드 PIN을 생성하는데, 이는 암호학적으로 안전한 난수 생성기를 사용합니다. 최초 로그인 외에 다른 용도로 스마트 카드 인증서가 사용되지 않도록 이 PIN은 Teleport 사용자와 공유되지 않습니다.

Teleport는 RDP 연결 단계에서 이 PIN을 데스크탑에 제공합니다. 그룹 정책이 데스크탑에서 이 PIN을 읽지 못하도록 설정된 경우, 사용자는 스마트 카드가 인식되었음에도 불구하고 로그인 화면에 머무르게 됩니다.

해결책: 그룹 정책이 RDP 연결 설정 중 자격 증명을 지정할 수 있도록 허용하는지 확인합니다.

컴퓨터 구성, 관리 템플릿, Windows 구성 요소, 원격 데스크탑 서비스, 원격 데스크탑 세션 호스트를 확장합니다.

원격 데스크탑 세션 호스트 아래에서 보안을 선택합니다.

연결 시 항상 비밀번호를 요구를 마우스 오른쪽 버튼으로 클릭하고 편집을 선택한 다음 사용 안 함을 선택하고 확인을 클릭합니다.

참고: 이 정책의 이름에 비밀번호가 언급되어 있음에도 불구하고, 데이터 전송 시 비밀번호는 전송되지 않습니다. 이 메커니즘은 오직 스마트 카드 PIN을 전송하는 데만 사용됩니다.

서드파티 스마트 카드 드라이버가 자동 로그인을 방해합니다

HID ActivID ActivClient과 같은 일부 서드파티 스마트 카드 드라이버는 자동 로그인 프로세스가 올바르게 작동하는 것을 방지할 수 있습니다. 서드파티 드라이버의 존재 여부를 확인하려면, 자동 로그인이 작동하지 않는 호스트에 연결하고 다음 경로의 내용을 확인하십시오.
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards\Identity Device (NIST SP 800-73 [PIV]) 항목.

올바르게 구성된 시스템에서는 기본 Windows 드라이버에 대한 DLL을 가리키는 항목이 표시되어야 합니다: C:\Windows\System32\msclmd.dll . 사용자 정의 드라이버가 설치된 시스템에서는 일반적으로 이 경로가 C:\Program Files 아래의 DLL을 가리키도록 재정의됩니다.

해결 방법: 로그인 프로세스를 방해할 수 있는 서드파티 스마트 카드 도구를 비활성화하거나 제거하십시오. 제거 완료 후 상기 언급된 레지스트리 항목이 msclmd.dll 를 가리키는지 확인하십시오.

계정에 대해 지원되지 않는 스마트 카드

Windows 호스트에 연결하면 다음과 같은 오류 메시지가 표시됩니다: "스마트 카드로 로그인하는 것이 귀하의 계정에 대해 지원되지 않습니다." 또는 유사한 메시지.

해결 방법: Windows 호스트의 보안-Kerberos 로그에서 원인을 검토하십시오.

보안-Kerberos Windows 이벤트 로그는 스마트 카드 기반 인증 시도에 대한 정보를 제공합니다. 이 이벤트 로그는 기본적으로 활성화되어 있지 않습니다. Windows 이벤트 로그를 열고 이벤트 뷰어, 응용 프로그램 및 서비스 로그, Microsoft, Windows, Security-Kerberos, 운영으로 이동하십시오. 이 이벤트 로그를 활성화하고 Teleport 웹 UI로 연결하여 로그 항목을 검토하십시오.

신뢰되지 않는 스마트 카드 인증서

Teleport UI에서 Windows 호스트에 연결하면 Windows 로그인 화면에 도착하고 다음과 같은 오류 메시지가 표시됩니다: "인증에 사용된 스마트 카드 인증서가 신뢰되지 않았습니다." (또는 유사한 메시지).

해결 방법: Teleport CA를 가져오십시오.

이는 호스트가 Teleport CA를 신뢰하지 않음을 의미합니다.

먼저, Group Policy에 Teleport CA를 가져오는지 확인하십시오..
마지막 가져오기 이후 Teleport CA를 교체한 경우, 다음 명령을 사용하여 새 CA를 가져와야 합니다. teleport.example.com를 Teleport 클러스터의 주소로 바꾸십시오:

curl.exe -fo user-ca.cer https://teleport.example.com/webapi/auth/export?type=windows

그것이 도움이 되지 않으면, 대상 호스트에 직접 로그인하고 PowerShell을 열고 gpupdate.exe /force 를 실행하십시오. 이는 그룹 정책 업데이트를 강제로 수행하며 새 CA를 가져올 수 있습니다.

새 세션이 "멈춤"

호스트에 연결할 수 없음

Teleport 웹 UI에서 Windows 호스트에서 연결을 클릭하면 새 탭이 열리지만 상단 바 외에는 아무것도 표시되지 않습니다. 잠시 후 연결 실패에 대한 오류가 표시됩니다.
대부분의 경우 이 오류는 windows_desktop_service 가 대상 Windows 호스트에 도달하지 못할 때 발생합니다.

해결 방법: 방화벽 규칙을 수정하여 수신 RDP 트래픽을 허용하십시오.

먼저, RDP 포트를 열고 원격 데스크톱 연결을 허용하십시오. Teleport 연결을 위해 구성한 그룹 정책 객체에서.

그것이 도움이 되지 않으면, 대상 호스트가 온라인인지 확인하고 Linux 서버에서 ping 을 시도해 보십시오. windows_desktop_service 가 실행되고 있는 서버에서. 호스트가 온라인이지만 접근할 수 없다면, 귀하의 인프라에 특정한 다른 네트워킹 장벽이 있을 수 있습니다.

호스트 이름이 해결되지 않음

Windows Desktop에 대한 연결이 연결 설정 중에 멈추거나 Teleport 디버그 로그에 couldn't resolve winserver.example.com 형태의 오류가 표시됩니다.

해결책: 방화벽이 DNS 트래픽을 허용하는지 확인

LDAP를 통해 자동으로 검색된 데스크탑의 경우, Teleport는 LDAP 서버에 대해 DNS 쿼리를 수행하여 호스트 이름을 IP 주소로 해결합니다.

Teleport의 Windows Desktop 서비스가 실행되는 인스턴스에서 LDAP 서버(Active Directory 도메인 컨트롤러)로의 포트 53 에서 수신 DNS 트래픽을 허용하도록 방화벽을 설정하세요.

Teleport 시작 실패

잘못된 도메인

Teleport가 다음과 유사한 오류와 함께 시작하지 않습니다:

LDAP Result Code 10 "Referral": 0000202B: RefErr: DSID-0310082F, data 0, 1 access points
"\tref 1: 'xample.com'"
"\x00"

해결책: 도메인 수정

이는 도메인 이름이 잘못되었음을 나타냅니다. windows_desktop_serviceldap 섹션에서 domain 필드를 다시 확인하세요.

도메인 컨트롤러에 연결할 수 없음

Teleport가 다음과 유사한 오류와 함께 시작하지 않습니다:

LDAP Result Code 200 "Network Error": dial tcp ad.example.com:636: i/o timeout

해결책: LDAP 주소 확인

이는 도메인 컨트롤러가 다운되었거나 도달할 수 없음을 나타냅니다. windows_desktop_serviceldap 섹션에서 addr 필드를 다시 확인하세요. 올바르다면, 도메인 컨트롤러가 작동 중인지 및 windows_desktop_service 가 실행되는 서버에서 도달 가능한지 확인하세요.

TLS를 통한 LDAP 초기화 불가

Teleport가 시작 시 LDAP에 연결하지 못합니다. 다음과 유사한 오류를 볼 수 있습니다:

LDAP Result Code 52 "Unavailable": 00000000: LdapErr: DSID-0C090F78, comment: Error initializing SSL/TLS, data 0, v2580\x00

또는

connecting to LDAP server: unable to read LDAP response packet: read tcp 172.18.0.5:35970->;172.18.0.4:636: read: connection reset by peer

해결책: LDAPS 활성화

이는 LDAP 서버에 LDAP 인증서가 설치되어 있지 않거나, 포트 389 에서 안전하지 않은 연결을 시도하고 있음을 나타냅니다. Teleport는 일반적으로 포트 636 에서 안전한 LDAPS 연결을 요구합니다. 먼저 연결하고 있는 LDAPS 포트가 올바른지 확인하세요. 문제가 해결되지 않으면 Active Directory Certificate Services 설치 (AD CS) 또는 타사 인증서 가져오기 를 고려해 보세요. Active Directory의 경우 매우 까다롭습니다 그러므로 인증서를 올바르게 생성해야 합니다.

데스크탑이 LDAP를 통해 검색되지 않음

LDAP이 아직 초기화되지 않음

Teleport가 실행 중이지만, 데스크탑은 웹 UI에 표시되지 않습니다. 로그에는 다음과 유사한 오류가 포함됩니다:

skipping desktop discovery: LDAP not yet initialized

해결책: Teleport 인증서가 설치되었는지 확인

Teleport Desktop Service는 LDAP 서버와 인증하기 위해 Teleport 발급 인증서를 사용합니다. 이 오류는 Teleport가 인증할 수 없을 때 발생하며, 이는 종종 인증 기관이 Active Directory에서 신뢰되지 않기 때문입니다.

먼저, Teleport CA가 LDAP NTAuth 저장소에 있는지 확인하세요. 다음 명령을 실행하며, 도메인을 위한 DN을 수정합니다(이 명령에서는 도메인을 example.com으로 사용합니다):

$ certutil -viewstore "ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=example,DC=com?caCertificate"

Teleport CA 인증서가 표시되는 팝업 창이 나타나야 합니다. Teleport 인증서가 없다면 다음 명령으로 가져오세요:

$ certutil -dspublish -f <path-to-cert> NTAuthCA

LDAP에 Teleport 인증서가 있는 것을 확인한 후, 모든 데스크탑에 전파되었는지 확인하세요. 연결하고자 하는 데스크탑에서 다음 명령을 실행합니다:

$ certutil -viewstore -enterprise NTAuth

팝업 창에 Teleport 인증서가 나타나지 않고 LDAP에서 존재했다면, 다음 명령으로 데스크탑을 강제로 동기화 할 수 있습니다:

$ certutil -pulse

Teleport CA 인증서가 올바르게 설치된 것을 확인했지만 여전히 이 오류가 발생하는 경우, mTLS 연결에 간섭할 수 있는 보안 도구나 애드온이 있는지 확인하세요. CrowdStrike의 LDAP 검사 또는 Silverfort의 AD 어댑터와 같은 도구는 TLS를 종료하고 클라이언트 인증서를 드롭하여 Teleport 인증을 방해하는 것으로 알려져 있습니다.

클라이언트 인증서 수동 검증

또 다른 유용한 문제 해결 단계는 tctl 을 사용하여 클라이언트 인증서를 발급하고 Windows 측에서 이를 검증하는 것입니다.

먼저, tctl 을 사용하여 클라이언트 인증서를 생성합니다. 이때 --windows-user , --windows-sid , 및 --windows-domain 플래그는 환경에 적합한 값으로 교체해야 합니다:

참고: Windows 인증서를 발급하려면 Teleport auth_service와 동일한 머신에서 'tctl auth sign'을 실행해야 합니다.

'tsh'로 발급된 신원을 사용하여 이 명령을 원격으로 실행하면 'ERROR: access denied'가 발생합니다.

tctl auth sign \ --windows-user=svc-teleport \ --windows-sid=S-1-5-21-3788279871-1068139173-3054872986-500 \ --windows-domain=domain.example.com \ --format=windows \ --out=test

이렇게 하면 test.svc-teleport.der 라는 인증서 파일이 생성됩니다.

다음으로 이 인증서를 도메인 컨트롤러 중 하나로 복사하고 검증을 시도합니다:

$ certutil -urlfetch -verify test.svc-teleport.der

검증에 성공하면 다음과 유사한 출력으로 끝나야 합니다:

------------------------------------
인증된 애플리케이션 정책:
    1.3.6.1.5.5.7.3.2 클라이언트 인증
    1.3.6.1.4.1.311.20.2.2 스마트 카드 로그온
인증서는 최종 엔터티 인증서입니다.
리프 인증서 해지 체크 통과
CertUtil: -verify 명령이 성공적으로 완료되었습니다.

유사한 결과가 나타나지 않으면 출력에서 오류를 확인하여 인증서를 검증할 수 없는 이유를 찾으십시오.

연결 시도 실패

RDP 서버가 표준 RDP 보안만 사용

바탕화면에 연결하려고 시도할 때 다음과 유사한 오류가 발생합니다:

클라이언트가 SSL을 광고했으나 서버가 STANDARD_RDP_SECURITY를 선택했습니다.

해결책: 향상된 RDP 보안 활성화

표준 RDP 보안은 RC4 암호화를 기반으로 하며 Windows 호스트에 RDP로 연결하는 가장 덜 안전한 방법입니다. Teleport의 RDP 클라이언트는 TLS로 향상된 RDP 보안을 요구합니다.

향상된 RDP 보안은 기본적으로 활성화되어 있지만, 귀하의 환경이 이전 보안 방법을 요구하도록 구성되어 있을 수 있습니다.

이 구성은 그룹 정책을 통해 이용할 수 있습니다:

컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 보안

"원격 (RDP) 연결을 위한 특정 보안 계층 사용 요구" 설정을 찾으십시오. 설정은 Negotiation 또는 SSL로 설정해야 하며, RDP로 설정하면 안 됩니다.

RDP 연결 실패

Teleport 웹 UI에서 Windows 호스트에서 연결을 클릭하면 새 탭이 열리지만 상단 바 이외에는 아무것도 표시되지 않습니다. RDP 연결 실패를 알리는 오류가 표시됩니다. 또한 다음과 유사한 오류를 볼 수 있습니다:

Rdp(Io(Os { code: 54, kind: ConnectionReset, message: "상대방에 의해 연결이 재설정되었습니다." }))

해결책: RDP 연결을 위한 인증서 구성

이는 바탕화면이 TLS 연결을 위한 안전한 암호 스위트를 지원하지 않음을 의미합니다.

RDP 연결을 위한 인증서를 구성해야 합니다.

CredSSP가 필요한 향상된 RDP 보안

바탕화면에 연결을 시도할 때 실패하고 로그에 다음과 유사한 오류가 표시됩니다:

협상 단계 중 오류: 서버가 클라이언트가 CredSSP로 향상된 RDP 보안을 지원해야 한다고 요구합니다.

해결책: 네트워크 수준 인증 (NLA) 비활성화

이는 RDP 서버가 NLA를 요구하고 있음을 의미합니다. 이 오류를 수정하려면 서버가 NLA를 요구하지 않도록 구성하거나 Teleport 16.2.0 이상을 사용하는 경우 NLA를 활성화할 수 있습니다.

서버가 NLA를 요구하지 않도록 구성하려면 Teleport 연결을 위해 구성한 그룹 정책 개체에서 원격 데스크톱 연결 허용 지침을 따르십시오. Active Directory에서 NLA를 비활성화한 후에도 여전히 이 오류가 발생하는 경우 Windows 명령 프롬프트에서 관리자로 다음 명령을 실행하여 정책 업데이트를 강제하십시오:

gpupdate.exe /force

Teleport 16.2.0 이상에서 NLA를 활성화하려면 TELEPORT_ENABLE_RDP_NLA 환경 변수를 Teleport의 windows_desktop_service 를 실행하는 호스트에 대해 yes 로 설정합니다. Teleport의 NLA 지원에 대한 더 많은 정보는 Active Directory 가이드에서 확인할 수 있습니다.

CredSSP: 서버가 Kerberos 데이터베이스에서 찾을 수 없음

바탕화면에 연결하려고 시도할 때 실패하며 UI에 다음과 유사한 오류가 표시됩니다:

CredSSP UnknownCredentials: 서버가 Kerberos 데이터베이스에서 찾을  없습니다

이것은 NLA와 관련된 오류입니다. NLA를 사용하여 Windows 호스트에 연결하려면 Teleport가 Active Directory에 있는 컴퓨터 이름을 정확히 지정해야 합니다. 올바른 컴퓨터 이름을 지정하지 않았거나 호스트 이름 대신 IP 주소로 연결하는 경우 이 오류가 발생합니다.

해결 방법: 서버의 컴퓨터 이름을 수정하십시오

이 오류를 수정하려면 다음을 확인하십시오:

  • 서버의 컴퓨터 이름이 teleport.dev/computer_name 라벨에 지정되어 있는지
  • 서버의 addr 필드가 올바른 컴퓨터 이름을 지정하고 있는지

자세한 내용은 Computer Name을 참조하십시오.

디렉터리 공유

디렉터리 공유 실패

디렉터리 공유를 시도할 때 실패하며 경고가 표시됩니다:

디렉터리 공유 실패, 드라이브 리디렉션이 RDP 서버에서 비활성화되었을 수 있습니다.

해결 방법: 장치 리디렉션이 활성화되어 있는지 확인하십시오.

Teleport의 디렉터리 공유 기능은 RDP 장치 리디렉션을 활용합니다. 장치 리디렉션이 RDP 서버에서 활성화되지 않았거나 허용되지 않는 경우 작업이 실패합니다.

장치 리디렉션은 일반적으로 기본적으로 활성화되어 있지만 그룹 정책에서 비활성화될 수 있습니다. 관련 설정은 아래에 있습니다:

컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 장치 및 리소스 리디렉션

드라이브 리디렉션을 허용하지 않음 옵션이 설정되지 않았거나 비활성화되어 있는지 확인하십시오.

Teleport 원문 보기