[원격데스크톱] 내부 오류가 발생했습니다

2021. 10. 13. 14:34Others/Operating System

오류내용

원격데스크톱 접속을 시도하면 아래와 같은 오류가 나타날 수 있습니다.
내부 오류가 발생했습니다
이 오류가 발생한다면 서버에서 [이벤트뷰어]를 실행해보세요. 다음과 같은 로그가 기록되어 있다면 이 메뉴얼을 시도해보시기 바랍니다.
원본: Schannel
이벤트 ID: 36870
설명: TLS 서버 자격 증명 개인 키에 액세스하려고 할 때 치명적인 오류가 발생했습니다. 암호화 모듈에서 반환된 오류 코드는 0x8009030D. 내부 오류 상태는 10001입니다.

오류원인

서버의 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 폴더에는 로컬 RSA 암호화 키 파일이 존재합니다. 서버에서 이 RSA 암호화 키 파일에 접근할 수 없는 경우 이 오류가 발생합니다. 이러한 문제는 아래와 같은 이유로 발생할 수 있습니다.

  • 사용자나 업데이트, 프로그램에 의해 MachineKeys 폴더 또는 RAS 파일에 대한 접근권한 설정이 변경된 경우
  • 사용자나 업데이트, 프로그램에 의해 MachineKeys 폴더에 존재하는 RSA 키가 손상되거나 삭제된 경우

해결방법

방법1: MachineKeys 폴더의 접근권한을 재설정합니다

  1. 먼저 C:\temp\ 폴더를 생성하세요.
  2. PowerShell을 관리자 권한으로 실행하세요.
  3. 아래 스크립트를 복사하여 PowerShell에 붙여넣기 하여 실행하세요. remove-module psreadline icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\BeforeScript_permissions.txt takeown /f "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /a /r icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\System:(F)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\NETWORK SERVICE:(R)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\AfterScript_permissions.txt Restart-Service TermService -Force
  4. 원격데스크톱으로 원격접속을 다시 시도해보세요. 위 코드 실행 중 문제가 발생하는 경우 아래 로그 파일을 확인해보세요.
    • c:\temp\BeforeScript_permissions.txt
    • c:\temp\AfterScript_permissions.txt

방법2: RDP 자체 서명 인증서 갱신

문제가 해결되지 않으면 아래 스크립트를 복사하여 PowerShell에 붙여넣기 후 실행해주세요. Import-Module PKI Set-Location Cert:\LocalMachine $RdpCertThumbprint = 'Cert:\LocalMachine\Remote Desktop\'+((Get-ChildItem -Path 'Cert:\LocalMachine\Remote Desktop\').thumbprint) Remove-Item -Path $RdpCertThumbprint Stop-Service -Name "SessionEnv" Start-Service -Name "SessionEnv"

만약 스크립트 실행 중 문제가 발생한다면 아래 방법을 통해 직접 인증서를 삭제해주세요.

  1. 키보드의 Ctrl+R을 눌러 실행 창을 열고, mmc를 입력하여 실행해주세요.
  2. 파일 메뉴에서 스냅인 추가/제거를 선택합니다.
  3. 사용 가능한 스냅인 목록에서 인증서를 선택하고 추가 를 선택합니다.
  4. 컴퓨터 계정 을 선택하고 다음을 선택합니다.
  5. 다른 컴퓨터 를 선택한 다음 문제가 있는 VM의 IP 주소를 추가합니다. (참고: 내부 네트워크를 사용하여 가상 IP 주소를 사용하지 않도록 합니다.)
  6. 마친 후 확인을 선택합니다.
  7. 인증서를 확장하고 원격 데스크톱\인증서 폴더로 이동하여 인증서를 마우스 오른쪽 단추로 클릭한 다음 삭제를 선택합니다.
  8. 아래 명령을 실행하여 원격 데스크톱 구성 서비스를 다시 시작합니다.net stop SessionEnv net start SessionEnv
  9. 원격데스크톱 접속을 다시 시도하여 문제가 해결되는지 확인해보세요.

References