Windows 원격 데스크톱 인증서 적용하기

도메인 주소를 통해 Remote Desktop에 접속하면, 원격 컴퓨터의 ID를 확인할 수 없다는 경고 창이 발생한다. 도메인에 인증서를 적용하지 않아 자체 서명된 인증서를 사용해 발생하는 현상인데, 경고를 무시해도 사용할 수는 있지만 왠지 저 노란 경고가 찜찜한 기분이 들게 하는 건 사실. 오늘은 원격 데스크톱 호스트에 인증서를 적용해 경고를 없애고 자물쇠를 받는 방법을 알아보자.

원격 데스크톱 연결 시 경고문. 찜찜하다..

1. 인증서 PKCS#12 포맷으로 변환하기

도메인에 대한 인증서는 이미 발급받은 상태라고 가정한다. 필자는 Let’s Encrypt 인증서를 사용했다. 우선 윈도우는 PKCS#12 포맷을 사용하므로, 인증서-비밀키 구성의 pem 형식으로 되어 있다면 이를 변환해주어야 한다. 이미 pfx 형식의 인증서를 소유하고 있다면 Step 2로 바로 넘어가자.

인증서 포맷을 변환하기 위해서는 OpenSSL 프로그램이 필요하다. 아래 사이트에 접속하여 다운로드하자. 3.0버전 이상, 혹은 1.1버전 이상이 필요한데, 범용성을 생각하면 가장 최신 3.x 버전 다운로드를 추천한다.

https://www.openssl.org/source/

다 설치했다면, OpenSSL 설치 경로에서 터미널 (관리자 권한 필수)을 열고 아래 명령어를 입력하자.

openssl pkcs12 -export -inkey "비밀키.pem" -in "공개키.pem" -out "원하는 파일명.pfx"

위와 같이 원하는 비밀번호를 입력해주면 인증서 파일이 생성된다.

2. 인증서 지문 확인하기

이제, 생성된 인증서 지문을 확인하기 위해 다음 명령어를 실행하자.

openssl x509 -noout -in "인증서 파일명.pfx" -fingerprint -sha1

다음과 같이 SHA-1 지문을 확인할 수 있다. Step 4에서 사용할 예정이니 복사해 두자.

3. 인증서 설치하기

다른 인증서를 설치하는 것처럼, PKCS#12 형식 인증서를 로컬 컴퓨터에 설치해주자. 파일을 더블클릭하고 로컬 컴퓨터를 선택하면 된다.

4. 레지스트리에 인증서 등록하기

여기까지 왔다면, 이제 원격 데스크톱이 인증서를 인식하도록 하면 끝이다! 레지스트리 편집기 (실행 -> regedit)을 열고, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 경로로 이동한다.

이제 마우스 우클릭 -> 새 값 -> 이진 값을 클릭하고, 이름을 SSLCertificateSHA1Hash로 설정한다. 그 다음 생성된 값을 우클릭해 편집을 클릭하고, Step 2에서 확인한 지문을 입력해 주면 된다.

혹은 다음과 같은 명령어를 사용해도 좋다.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash /t REG_BINARY /d "SHA-1 지문값"

5. 원격 데스크톱에 인증서 접근 권한 부여하기

실행 -> certlm.msc로 컴퓨터 인증서 관리 프로그램을 실행하자. (사용자 인증서 관리가 아니다!) 다음으로, 개인용 -> 인증서 경로로 접속해 앞서 설치한 인증서를 확인한다.

이제 인증서를 우클릭하고, 모든 작업 -> 개인 키 관리로 들어간 후, NETWORK SERVICE 사용자에게 읽기 권한을 부여하자.

모든 작업이 완료됐다. 다른 컴퓨터에서 원격 데스크톱에 접속해보면, 인증서가 성공적으로 적용된다!

영광의 자물쇠. 기분이 좋다.

사실…

이 과정을 자동화한 배치파일을 필자의 깃허브에 등록해 두었다. 링크를 남길 테니 과정을 따라하기 귀찮다면 프로그램을 관리자 권한으로 실행시켜 보자.

https://github.com/gws8820/certificate4rdp

Next post 봉골레 파스타 (Spaghetti alle Vongole) 만들기

관련 글

댓글 남기기