Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

RDP(원격 데스크톱) 접속 시 비밀 번호를 한 번 더 입력해야 하는 경우

이상하군요, 분명히 동일한 RDP(원격 데스크톱: Remote Desktop) 파일인데 Windows 10에 있는 경우에는 자동으로 로그인까지 쭉 이어지는데 Windows Server에 있는 RDP는 다음과 같이 꼭 한 번 잘못되었다는 창이 뜨고,

auto_rdp_login_1.png

Your credentials did not work

Your system administrator does not allow the use of saved credentials to log on to the remote computer ... because its identity is not fully verified. Please enter new credentials.

The logon attempt failed


Windows Defender Credential Guard does not allow using saved credentials. Please enter your credentials.


다시 한번 비밀번호를 입력해야 로그인이 됩니다. 검색을 해보면 다행히 우회 해결책이 나옵니다.

Your system administrator does not allow the use of saved credentials to log on to the remote computer
; https://serverfault.com/questions/396722/your-system-administrator-does-not-allow-the-use-of-saved-credentials-to-log-on

정리해 보면, 예를 들어 "www.koreacentral.cloudapp.azure.com" 서버에 RDP로 접속하려고 할 때 로그인 정보를 저장하면 "Windows Credentials"에 "TERMSRV/www.koreacentral.cloudapp.azure.com" 항목으로 저장되는데, 이를 사용하지 말고 - 즉, 삭제하고 다음 화면과 같이 "Generic Credentials"에 등록하라는 것입니다.

auto_rdp_login_2.png

실제로 저렇게 바꾸면 이후 로그인 과정에서 더 이상 비밀번호를 묻지 않습니다. 한가지 더 재미있는 점은, 도메인 명으로 했을 때는 로그인 시간이 좀 긴데, RDP와 Generic Credentials의 항목에 IP를 사용했을 경우에는 로그인 시간이 짧습니다.




참고로, "Your system administrator does not allow the use of saved credentials to log on to the remote computer" 글에 보면, Group Policy 중 "Computer Configuration" / "Administrative" / "System" / "Credentials Delegation"의 "Allow delegating default credentials with NTLM-only server authentication" 항목에 "TERMSRV/*"를 등록하면 된다는 답변도 있습니다. (등록 후, gpupdate /force로 적용 필요)

실제로 Windows 10의 gpedit.msc에서는 해당 항목이 "Not configured"로 되어 있었지만, 비밀번호를 재차 입력해야 하는 Windows Server에서는 그 항목이 "Enabled"로 되어 있는 차이점은 있었습니다. 하지만, 아쉽게도 (테스트를 잘못한 것인지는 모르겠지만) 제 환경에서는 위의 방법이 동작하지 않았습니다. (하지만 혹시 여러분들은 될지도 모르죠. ^^)

"Windows Defender Credential Guard does not allow using saved credentials" for RDP connections?
; https://superuser.com/questions/1756354/windows-defender-credential-guard-does-not-allow-using-saved-credentials-for-r

위의 글에 보면 명령행에서 각 항목을 추가/삭제하는 방법이 나옵니다.

[목록 확인]
cmdkey /list:TERMSRV/*

[항목 삭제]
cmdkey /delete:TERMSRV/<targetNameOrIp>

[generic 범주에 새로 추가]
cmdkey /generic:TERMSRV/<targetNameOrIp> /user:<username> /pass:<password>




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 12/13/2023]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... [61]  62  63  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12110정성태1/11/202011930디버깅 기술: 154. Patch Guard로 인해 블루 스크린(BSOD)가 발생하는 사례 [5]파일 다운로드1
12109정성태1/10/20209818오류 유형: 588. Driver 프로젝트 빌드 오류 - Inf2Cat error -2: "Inf2Cat, signability test failed."
12108정성태1/10/20209843오류 유형: 587. Kernel Driver 시작 시 127(The specified procedure could not be found.) 오류 메시지 발생
12107정성태1/10/202010801.NET Framework: 877. C# - 프로세스의 모든 핸들을 열람 - 두 번째 이야기
12106정성태1/8/202012202VC++: 136. C++ - OSR Driver Loader와 같은 Legacy 커널 드라이버 설치 프로그램 제작 [1]
12105정성태1/8/202010874디버깅 기술: 153. C# - PEB를 조작해 로드된 DLL을 숨기는 방법
12104정성태1/7/202011553DDK: 9. 커널 메모리를 읽고 쓰는 NT Legacy driver와 C# 클라이언트 프로그램 [4]
12103정성태1/7/202014275DDK: 8. Visual Studio 2019 + WDK Legacy Driver 제작- Hello World 예제 [1]파일 다운로드2
12102정성태1/6/202011878디버깅 기술: 152. User 권한(Ring 3)의 프로그램에서 _ETHREAD 주소(및 커널 메모리를 읽을 수 있다면 _EPROCESS 주소) 구하는 방법
12101정성태1/5/202011223.NET Framework: 876. C# - PEB(Process Environment Block)를 통해 로드된 모듈 목록 열람
12100정성태1/3/20209259.NET Framework: 875. .NET 3.5 이하에서 IntPtr.Add 사용
12099정성태1/3/202011567디버깅 기술: 151. Windows 10 - Process Explorer로 확인한 Handle 정보를 windbg에서 조회 [1]
12098정성태1/2/202011144.NET Framework: 874. C# - 커널 구조체의 Offset 값을 하드 코딩하지 않고 사용하는 방법 [3]
12097정성태1/2/20209704디버깅 기술: 150. windbg - Wow64, x86, x64에서의 커널 구조체(예: TEB) 구조체 확인
12096정성태12/30/201911686디버깅 기술: 149. C# - DbgEng.dll을 이용한 간단한 디버거 제작 [1]
12095정성태12/27/201913103VC++: 135. C++ - string_view의 동작 방식
12094정성태12/26/201911279.NET Framework: 873. C# - 코드를 통해 PDB 심벌 파일 다운로드 방법
12093정성태12/26/201911291.NET Framework: 872. C# - 로딩된 Native DLL의 export 함수 목록 출력파일 다운로드1
12092정성태12/25/201910735디버깅 기술: 148. cdb.exe를 이용해 (ntdll.dll 등에 정의된) 커널 구조체 출력하는 방법
12091정성태12/25/201912218디버깅 기술: 147. pdb 파일을 다운로드하기 위한 symchk.exe 실행에 필요한 최소 파일 [1]
12090정성태12/24/201910892.NET Framework: 871. .NET AnyCPU로 빌드된 PE 헤더의 로딩 전/후 차이점 [1]파일 다운로드1
12089정성태12/23/201911581디버깅 기술: 146. gflags와 _CrtIsMemoryBlock을 이용한 Heap 메모리 손상 여부 체크
12088정성태12/23/201910555Linux: 28. Linux - 윈도우의 "Run as different user" 기능을 shell에서 실행하는 방법
12087정성태12/21/201911026디버깅 기술: 145. windbg/sos - Dictionary의 entries 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]
12086정성태12/20/201913069디버깅 기술: 144. windbg - Marshal.FreeHGlobal에서 발생한 덤프 분석 사례
12085정성태12/20/201910808오류 유형: 586. iisreset - The data is invalid. (2147942413, 8007000d) 오류 발생 - 두 번째 이야기 [1]
... [61]  62  63  64  65  66  67  68  69  70  71  72  73  74  75  ...