윈도우 서버를 운영하다보면 대부분 서버에 원격 데스크탑 (Remote Desktop) 연결을 통해 접속 할 것입니다.
DNS에 해당 서버에 맞는 IP를 연결해도, 실제로 연결하려면 아래와 같은 경고창이 한번 뜰 것입니다.
해당 경고를 무시하고 접속해도 해당 연결은 암호화 된 통신을 하므로 무시해도 무방하나,
서버에 인증 된 기관에서 발급한 유효한 TLS 인증서가 있다면 해당 인증서를 연결함으로써 해당 경고가 안뜨도록 할 수 있습니다.
우선 사전 조건으로 컴퓨터에 사용하려는 개인용 인증키 설치가 필요합니다.
개인용 인증키 설치가 완료되었다면, 인증서 적용 방법은 2가지 방법이 있습니다.
방법 1: WMI(Windows Management Instrumentation) 스크립트 사용
1. 시작 > 실행 > certlm.msc 입력 후 실행 > Personal > Certificates 이동 후
적용하려는 인증서 더블 클릭 후 Details 탭으로 이동하여 Thumbprint 필드 까지 스크롤 후 값 확인 합니다.
2. 해당 문자열을 메모장과 같은 곳으로 복사합니다.
경우에 따라, 아래와 같이 공백이 있는 경우가 있는데, 해당 공백을 제거해 줍니다.
경우에 따라 정상적으로 제거되지 않을 수 있으니, 아래와 같이 명령 프롬프트에 복사하여, 유효성을 검사합니다.
3. 명령 프롬프트에서 다음 명령어를 입력합니다. SSLCertificateSHA1Hash= 이후의 문자열은 2번과정에서 유효성을 검증한 값을 붙여 넣습니다.
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"
아래는 위의 값을 복사해 실행 한 예제 입니다.
방법 2: 레지스트리 편집기 사용
1. 아래와 같이 레지스트리 값을 만듭니다.
- 레지스트리 경로:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp - 값 이름: SSLCertificateSHA1Hash
- 값 형식: REG_BINARY
- 값 데이터: 인증서 지문
reg 파일 등을 이용해 입력 할 경우, 아래와 같이 쉼표(,)로 구분해 작성해야 합니다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"SSLCertificateSHA1Hash"=hex:47,fa,a7,cb,87,02,26,9c,9d,bb,08,ae,cc,fe,28,f8,aa,0d,46,35
아래와 같이 설정 됩니다.
RDS는 NETWORK SERVICE 계정으로 실행됩니다. 따라서 NETWORK SERVICE 계정에 키 파일을 읽을 수 있는 권한을 추가해야 합니다.
2. 시작 > 실행 > certlm.msc 입력 후 실행 > Personal > Certificates 이동 후 적용하려는 인증서에서 우클릭 후 All Tasks > Manage Private Keys... 클릭
3. Add 클릭 후 NETWORK SERVICE 을 입력 후 확인하여 추가 후, 읽기 권한 허용 클릭 후 확인 버튼을 클립합니다.
이후 다시 접속 시 인증서 관련 알람이 뜨지 않습니다.
[참조]
원격 데스크톱 수신기 인증서 구성, https://learn.microsoft.com/en-us/troubleshoot/windows-server/remote/remote-desktop-listener-certificate-configurations