Post

RDP를 활용한 Shadowing & Remote control

Shadowing Terminal Services session 을 이용해 다른 터미널 세션을 컨트롤 할 수 있다. 즉 다른 사용자가 보고있는 그 화면 자체를 보거나, 컨트롤 할 수 있기 때문에 이를 이용해 원격지원 할 수 있다.

RDP 시 /shadow:[sessionID]를 붙여주거나, 일단 RDP로 연결한 다음 cmd - mstsc /shadow:[sessionID] 또는 작업관리자 - 사용자 - user 우클릭 - 원격제어

gpedit.msc설정에 따라 Host에 세션에 shadow가 붙는다는 내용의 안내문구와 수락/거부 팝업이 뜬다. 세션을 유지한 채 shadowing을 종료하려면 Ctrl + \* (tenkey쪽 버튼으로 눌러야함)

Windows 10 호스트에 shadow 하려고 하면 “Shadow Error - Access is denied”가 발생하는 경우

gpedit.msc도 수정하고, 계정도 두개 만들어 보고, 권한도 제대로 넣었다가 뺐다가 하면서 테스트해봤으나 도무지 원인을 알 수 없었는데, 열심히 구글링해본 결과 build 1703, 1709에서 rdpsaproxy.exe가 자동으로 시작되지 않는 문제가 있다고 한다.

RDPWrap

https://github.com/stascorp/rdpwrap/releases server OS가 아닌 일반 OS(e.g., Windows 10)에서는 각기 다른 계정을 사용해 RDP로 로그인하더라도, 동시에 다중 사용자가 시스템을 사용할 수 없어 한 쪽의 연결이 끊어진다. 다중 사용자가 시스템을 사용하려면 RDPWrap을 사용해야만 한다. 다중 계정 멀티세션을 사용할 때, MS계정으로 로그인하고 나서 로컬계정으로 로그인하려하면 아이디와 비밀번호가 다르다고 나오면서 로그인이 안된다. 이는 MS계정 앞에 붙는 MicrosoftAccount\ 때문이므로, 계정 유형에 따라 다음과 같이 명시해주면 된다. MS 계정 : MicrosoftAccount\ID@EMAIL 로컬 계정 : LocalAccount\ID

console session shadowing

console session을 control하는 것도 가능하지만, 몇 가지 설정이 필요하다. 0번 세션의 경우 기본값은 거부, 다른 세션의 경우 기본값은 허가 후 shadow가능이기 때문이다.

* console session은 Session 0으로 base or default session로 특별한 관리콘솔인 것 같은데 그냥 관리자 콘솔 정도의 느낌인 것 같다. 로컬세션과는 다른 듯. 로컬세션은 1번 세션이다.

gpedit.msc를 실행한다. ( MMC나 제어판을 이용해도 된다. MMC = Microsoft Management Console)

Computer Configuration - Administrative Templates - Windows Components - Terminal Services

  • (Remote Desktop Session Host) - (Connection) - Sets rules for remote control of Terminal Services user sessions 컴퓨터 구성 - 관리 템플릿 - Windows 구성 요소 - 터미널 서비스
  • (원격 데스크톱 세션 호스트) - (연결) - 터미널 서비스 사용자 세션의 원격 컨트롤 규칙을 설정

Full Control (사용자 허가 여부는 아무거나 설정해도 상관없다 팝업차이.)로 설정

This post is licensed under CC BY 4.0 by the author.