The Desktop FilesRDP 익히기

Wes Miller

RDP(원격 데스크톱 프로토콜)를 사용하면 시스템을 원격으로 액세스할 수 있습니다. 매우 유용한 이 기술 덕분에 지난 몇 년간 시스템 관리자의 업무 부담을 상당히 줄일 수 있었습니다. RDP의 원격 액세스 지원 기능은 오랜 기간에 걸쳐 꾸준히 향상되었습니다. 1998년 Windows NT 4.0 Terminal Server Edition(TSE)에 처음 도입된 이후

거의 모든 Windows® 버전에서 발전을 거듭해 온 것입니다.

Windows 2000이 출시된 이후에는 누구나 간편하게 원격으로 서버 시스템에 액세스할 수 있게 되었습니다. 선택적 Windows 구성 요소로 포함된 터미널 서비스를 구성하여 시스템을 실제 터미널 서버로 사용하거나 현재 원격 데스크톱이라고 부르는 용도로 사용할 수 있었기 때문입니다. Windows Server® 2003과 Windows XP에서는 기본 원격 데스크톱 기능을 제공하여 사용자가 시스템을 로컬 시스템처럼 제어할 수 있게 해 줍니다. 현재 필자는 매일 원격 데스크톱 기능을 사용하여 집에 있는 PC와 서버를 원격으로 액세스하고 Media Center Extender도 사용하고 있습니다.

Windows XP와 이후의 Windows 버전에는 원격 데스크톱과 비슷하지만 로컬 사용자가 원격 사용자에게 지원을 요청할 수 있도록 설계된 원격 지원 기능이 추가되었습니다. 이와 같이 원격 액세스 지원 기능이 지속적으로 발전함에 따라 Windows Vista®에서는 이제 그룹 정책에서 허용하는 경우 원격 사용자가 원격 지원을 제공할 수 있습니다.

이 문서에서 자세하게 다루겠지만, 원격 데스크톱은 이처럼 강력한 기능을 더욱 새롭게 업그레이드하여 매우 유용한 여러 가지 기능을 제공합니다. 물론, 원격 데스크톱에도 몇 가지 제한 사항은 있지만 장점도 많습니다. 지금부터 이러한 제한 사항과 장점 모두를 살펴보겠습니다.

장단점 및 놀라운 기능

Windows XP(Media Center Edition 제외)의 주요 제한 사항은 대화형 사용자가 한 번에 한 명씩만 로그온할 수 있다는 것입니다. Windows XP의 빠른 사용자 전환을 사용하면 여러 사용자가 로그온할 수 있지만 PC의 로컬 또는 원격 사용자인지에 상관없이 마우스나 키보드를 사용하여 대화형 기능을 사용할 수 있는 사용자는 한 명뿐입니다. 터미널 서버로 실행되지 않는 Windows Server 버전의 경우 한 번에 두 개의 원격 데스크톱 세션을 연결할 수 있습니다. Windows Server 2003에서 원격 데스크톱을 통해 실제 콘솔 세션에 연결하려면 선택적 매개 변수 /console을 사용하여 터미널 서비스 클라이언트 응용 프로그램(MSTSC.exe)을 실행해야 합니다. 여기서 콘솔 세션은 매우 중요한데, 터미널 서비스 세션을 고려하여 적절하게 설계되지 않은 일부 오래된 응용 프로그램의 경우 콘솔 세션(세션 0)에만 대화 상자를 표시하는 경우가 많기 때문입니다. 그림 1에서는 Windows Server 2003의 콘솔 세션에 로그인한 사용자를 보여 줍니다. Windows XP 및 Windows Server 2003 원격 데스크톱은 라이선스를 적용하여 허용된 수의 사용자만 대화형 사용자로 로그온할 수 있게 합니다.

그림 1 세션 0에 로그인한 상태

그림 1** 세션 0에 로그인한 상태 **(더 크게 보려면 이미지를 클릭하십시오.)

또한 네트워크 대역폭과 그룹 정책이 원격 데스크톱 환경에 영향을 줄 수 있습니다. Windows XP는 최대 24비트 해상도를 제공할 수 있을 뿐만 아니라 사운드, 로컬 프린터, 디스크 및 잘라내기/붙여넣기를 위한 클립보드를 리디렉션할 수도 있습니다. 원격 데스크톱의 화면 표시 방식으로 인해 원격 세션에서 그래픽 요소(테마, 배경 등)를 제거하면 사용 가능한 네트워크 대역폭이 크게 늘어나고, 그 결과 세션의 응답 속도가 훨씬 빨라집니다. Windows Vista에서는 이에 더하여 32비트 해상도와 추가 장치 리디렉션 기능을 제공합니다.

가장 좋은 원격 데스크톱 세션을 사용해도 대역폭이 부족하면 그래픽 처리가 많은 작업 등의 일부 작업은 실행하기 어려울 수 있으므로 적절히 계획을 세워야 합니다.

Windows Vista의 새로운 기능

Windows Vista에서는 원격 데스크톱이 상당히 변경되었습니다. 앞서 설명한 32비트 디스플레이 해상도와 글꼴 다듬기 기능은 이러한 두드러진 변화에 해당합니다. 그 외에도 /span 명령으로 터미널 서비스 클라이언트를 실행하여 Windows Vista 세션을 여러 모니터에서 실행할 수 있는 기능도 추가되었습니다. 이 경우 /span 명령은 Windows Vista 원격 호스트 시스템에만 작동하며 여러 대의 모니터에서 클라이언트의 해상도가 동일하고 모니터가 정렬되어 있어야 합니다. 이러한 확장은 원격 시스템(클라이언트)을 하나의 대형 디스플레이로 처리하는 방식으로 작동합니다. 따라서 응용 프로그램 창을 최대화하면 대화 상자가 잘못 배치되어 사용자가 직접 이동해야 하는 등의 예상치 못한 불편을 초래할 수 있습니다.

또한 연결을 시도하는 클라이언트가 Windows Vista 클라이언트이고 연결 대상 원격 시스템이 Windows Vista 시스템인 경우 사용자는 원격 세션의 사용자 인터페이스를 Windows Aero™ 투명 효과 모드로 실행할 수도 있습니다. 단, 이 경우 원격 시스템이 Aero 투명 효과를 지원하지 않아도 로컬 시스템은 반드시 이 모드를 지원해야 합니다. 이러한 효과는 클라이언트가 Windows Vista인 경우 Windows 원격 데스크톱의 아키텍처를 재구성하여 창 관리 작업 대부분을 클라이언트 시스템에서 수행함으로써 대역폭 사용을 줄이고 사용자 환경을 향상하는 데 따른 것입니다.

Windows Vista에는 또한 NLA(네트워크 수준 인증)라는 핵심 보안 향상 기능이 포함되어 있습니다. NLA를 사용하면 악의적 사용자가 서버를 스푸핑하여 사용자가 잘못된 서버에 연결하도록 하는 MITM(Man-In-The-Middle) 공격을 방지할 수 있습니다. 또한 NLA를 사용하면 인증을 위해 전체 Windows 사용자 인터페이스를 실행할 필요가 없기 때문에 원격 시스템에 미치는 영향이 최소화되고 서비스 거부 공격을 받을 가능성도 줄어들므로 인증 환경이 향상됩니다. 그러나 NLA를 사용하려면 클라이언트와 원격 시스템 모두 Windows Vista 시스템이어야 합니다. 그림 2에서는 RDP 6.0 클라이언트를 통해 인증 실행 여부, 경고 여부, 인증 필요 여부 등을 지정하는 방법을 보여 줍니다. Windows Vista 이전 버전의 Windows를 실행하는 원격 시스템에 연결하려는 경우에는 최소한 이러한 연결을 경고하도록 설정할 필요가 있습니다. 그렇지 않으면 연결이 실패하게 됩니다.

그림 2 고급 연결 기본 설정

그림 2** 고급 연결 기본 설정 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Vista에서 또 다른 RDP 핵심 기능 향상은 바로 드라이브와 프린터 이외의 다른 리소스도 리디렉션할 수 있다는 것입니다. 원격 시스템에 드라이버가 설치되어 있고 해당 장치가 리디렉션을 지원하는 경우에는 스마트 카드를 비롯하여 다양한 새로운 유형의 장치를 리디렉션할 수 있습니다. 추가 장치 유형도 해당 공급업체를 통해 지원할 수 있습니다.

또한 Windows Vista에서는 RDP 6.0 클라이언트를 통해 게이트웨이 서버를 지원합니다. 따라서 사용자는 VPN 연결이나 타사 소프트웨어 없이도 인터넷을 통해 회사 시스템에 완벽하게 연결할 수 있습니다. 그림 3에서는 터미널 서비스 게이트웨이 서버 설정을 보여 줍니다. 게이트웨이 서버는 VPN과 비슷한 것으로 생각할 수 있으며 RDP 6.0 클라이언트 소프트웨어 외에는 별다른 클라이언트 소프트웨어가 필요하지 않습니다. VPN 설정이나 타사의 독점적 소프트웨어도 필요하지 않습니다.

그림 3 터미널 서비스 게이트웨이 서버 설정

그림 3** 터미널 서비스 게이트웨이 서버 설정 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Vista에는 또한 RemoteApp™라는 새로운 기능을 위한 인프라도 제공합니다. RemoteApp는 어떤 경우에 유용할까요? 일반적으로 사용자는 원격 데스크톱을 통해 전체 Windows 세션에 연결할 수 있습니다. 그러나 사용자가 Microsoft® Word나 Microsoft PowerPoint®만 실행하려는 경우 RemoteApp를 사용하면 원하는 기능을 실행할 수 있습니다. Windows Server 2008에서는 강력한 응용 프로그램 공유 기능도 지원될 예정입니다.

또한 Windows Vista에는 Windows 데스크톱 공유 API를 위한 새로운 지원 기능이 추가되어 공유된 공동 작업 응용 프로그램을 게시할 수 있습니다. Microsoft 터미널 서버 팀이 만든 샘플 응용 프로그램(blogs.msdn.com/ts/ archive/2007/03/23/writing-a-desktop-sharing-application.aspx)을 보면 Windows 데스크톱 공유 API의 작동 방식을 확인할 수 있습니다.

Windows Vista 등에서 변경 사항 중 특히 기억해야 할 것은 세션 0(일반적으로 이전 응용 프로그램이 대화 상자 메시지를 표시하는 콘솔 세션)이 대개의 경우 사용자에게 액세스를 제공하지는 않는다는 점입니다. 그 결과 시스템 서비스(비대화형이지만 세션 0에서 실행됨)와 대화형 사용자 간의 대화형 작업이 줄어듭니다. 또한 Windows Vista에서 지나치게 권한이 높은 서비스 및 대화형 사용자로 인해 유발되는 공격 노출 영역을 줄일 수 있습니다. Windows Vista에서는 사용자 계정 컨트롤과 기타 보안 향상 기능을 통해 권한을 줄이는 데 중점을 두고 있습니다. Windows Vista에서 이전 소프트웨어를 실행하는 경우 해당 응용 프로그램을 설치할 때나 실행할 때 오류가 발생하지 않는다면 일반적으로 특별히 걱정할 문제는 없습니다.

원격 데스크톱을 지원하는 제품

원격 데스크톱과 관련하여 기억해야 할 것은 원격 데스크톱을 지원하는 제품이 무엇인지 확인하는 것입니다. Windows XP Professional, Media Center Edition 및 Tablet PC Edition과 Windows Server 2003의 모든 버전은 원격 데스크톱 기능을 제공합니다. Windows Vista의 경우 Business, Enterprise 및 Ultimate 버전에서 원격 데스크톱 기능을 제공합니다. Windows XP Home Edition을 포함한 Windows의 Home Edition과 Windows Vista의 모든 Home Edition에서는 원격 데스크톱 기능을 제공하지 않습니다.

터미널 서비스 클라이언트

새로운 RDP 6.0 클라이언트는 go.microsoft.com/fwlink/?LinkId=91612에서 다운로드할 수 있습니다. 앞서 살펴본 것처럼 이 클라이언트에는 RDP 6.0(Windows Vista 또는 Windows Server 2008) 시스템에 연결하는 데 필요한 모든 기능이 포함되어 있습니다.

그림 4에서는 RDP 6.0 클라이언트를 보여 줍니다. MSTSC에서 향상된 한 가지 중요한 사항은 자격 증명을 캐시하는 기능입니다. Windows Vista에서 Windows Vista 또는 Windows Server 2008에 연결하는 경우에는 SSO(Single Sign-On)가 그룹 정책을 통해 지원됩니다.

그림 4 RDP 6.0 클라이언트

그림 4** RDP 6.0 클라이언트 **(더 크게 보려면 이미지를 클릭하십시오.)

MSTSC.exe의 6.0 버전에는 아래 나열된 것처럼 여러 가지 명령줄 매개 변수가 있습니다. 하나씩 살펴보겠습니다.

mstsc [<connection file>] [/v:<server[:port]>]
[/console] [/f[ullscreen]] [/w:<width>] [/h:<height>]
[/public] | [/span] [/edit "connection file"] [/migrate] [/?]

/v:<server[:port]> 연결하려는 원격 컴퓨터와 선택적 포트 값을 지정합니다. 기본값인 포트 3389는 모든 버전의 Windows에서 변경할 수 있습니다.

/console 이전 버전 Windows의 콘솔 세션에 연결할 수 있습니다. 그러나 이 설정은 Windows Vista 또는 Windows Server 2008에는 사용할 수 없습니다.

/f 원격 데스크톱 연결을 전체 화면 모드로 시작합니다.

/w:<width> 원격 데스크톱 연결 창의 너비를 지정합니다.

/h:<height> 원격 데스크톱 창의 높이를 지정합니다.

/public 원격 데스크톱 연결을 공개 모드로 실행합니다. 공개 모드에서는 RDP 클라이언트가 데이터를 로컬 시스템에 캐시하지 않습니다. 예를 들어 회의실에 있는 시스템에서 비즈니스 서버에 연결할 때 공개 모드를 사용할 수 있습니다.

터미널 서비스의 놀라운 기능

터미널 서비스 구성 요소의 뛰어난 기능을 활용하는 Microsoft의 두 가지 기술이 있다는 것을 잘 모르는 독자도 있을 것입니다. Windows XP와 Windows Vista에서 제공하는 빠른 사용자 전환 기능을 사용하면 여러 사용자가 동일한 시스템에 로그온할 수 있으며 이들 사용자가 로그오프하지 않고도 사용자 컨텍스트를 빠르게 전환할 수 있습니다. Windows Media Center Edition과 Windows Vista에서는 이러한 인프라를 기반으로 하여 사실상 오디오/비디오 렌더링 기술과 코덱이 포함된 씬 클라이언트 터미널인 Media Center Extender가 유선 또는 무선 연결을 통해 로그인하여 원격으로 텔레비전에 Media Center 환경을 렌더링할 수 있도록 지원합니다. Windows XP의 경우 이 두 가지 기능은 시스템이 도메인에 연결되어 있지 않고 빠른 사용자 전환이 설정되어 있어야 하기 때문에 일반적으로 비즈니스 환경과는 관련이 없습니다. 이와 같이 비즈니스 환경에서 주로 사용되지는 않지만 두 기능 모두 Windows Vista의 Business 버전에서 지원됩니다. 이 문서에서는 이 기능에 대해 자세히 다루지 않겠습니다.

/span 원격 데스크톱의 너비와 높이를 로컬 가상 데스크톱과 맞추고 필요한 경우 이를 여러 모니터로 확장합니다. 모니터는 높이가 모두 같아야 하고 옆으로 나란히 정렬되어야 합니다.

/edit 지정된 .rdp 연결 파일을 편집할 수 있도록 엽니다. RDP 파일은 특정 원격 시스템의 연결 정보를 저장하는 데 사용됩니다.

/migrate 클라이언트 연결 관리자로 작성한 기존 연결 파일을 새로운 .rdp 연결 파일로 변환합니다.

MSTSC 클라이언트에서 향상된 많은 기능은 동일한 콘솔에서 터미널 서비스 ActiveX® 컨트롤과 다음에 설명할 TSMMC.msc를 사용하여 여러 시스템에 연결할 때도 사용할 수 있습니다.

Windows Server 2008의 새로운 기능

Windows Server 2008에는 지금까지 설명한 Windows Vista의 모든 기능과 변경 사항 외에도 터미널 서비스 웹 액세스 및 터미널 서비스 Easy Print와 같은 고유한 원격 데스크톱 기능이 포함되어 있습니다.

Terminal Services Web Access(터미널 서비스 웹 액세스)를 사용하면 원격 서버에서 RemoteApp로 설정된 프로그램의 목록을 웹 브라우저를 통해 확인할 수 있고 이러한 프로그램을 원격 데스크톱 ActiveX 컨트롤을 사용하여 한 번의 클릭으로 간편하게 실행할 수 있습니다. 어떤 면에서 이 기능은 필자가 지난달 Microsoft Desktop Optimization Pack에 대한 칼럼에서 설명한 SoftGrid 응용 프로그램 가상화 환경과 비슷하게 보일 수 있습니다. SoftGrid 응용 프로그램 가상화에서는 원격 사용자가 로컬에 소프트웨어를 설치할 필요 없이 응용 프로그램을 쉽게 실행할 수 있습니다. 향후 몇 년 동안 SoftGrid와 터미널 서비스 기술이 각각 어떤 상황에 사용되는지 비교해 보면 흥미로울 것입니다.

Terminal Services Easy Print(터미널 서비스 간편 인쇄)를 사용하면 원격(호스트) 시스템의 모든 프린터 작업을 로컬(클라이언트) 시스템으로 리디렉션할 수 있습니다. 이러한 작업은 이미 프린터 리디렉션으로도 구현되는 것으로 생각할 수 있지만 사실은 그렇지 않습니다. 터미널 서비스 Easy Print 기능을 사용할 때는 호스트 시스템의 추가 프린터 드라이버나 장치를 설치하기 위한 사용자의 대화형 작업이 필요 없습니다. 만약 로컬 프린터가 있으면 원격 시스템에서도 로컬과 마찬가지로 작동합니다. Terminal Services Easy Print(터미널 서비스 간편 인쇄) 기능을 사용하려면 원격 시스템에서 Windows Server 2008이 실행되어야 하며, 클라이언트 및 서버 시스템에는 Terminal Services 6.1 클라이언트가 실행되고 Microsoft .NET Framework 3.0 SP1이 설치되어 있어야 합니다. Terminal Services 6.1 클라이언트와 Microsoft .NET Framework 3.0 SP1은 Windows Server 2008이 릴리스될 즈음에 제공될 예정입니다.

원격 데스크톱 사용 팁

앞에서도 설명했듯이 필자는 원격 데스크톱을 매일 사용합니다. 보다 정확히 말하면 원격 데스크톱 Microsoft Management Console(MMC)이겠지요. 여기서 원격 시스템을 노드로 추가하면 동일한 사용자 인터페이스를 사용하여 여러 시스템 간에 쉽고 빠르게 전환할 수 있습니다. 그림 5에서는 MMC 환경의 예를 보여 줍니다. MMC 스냅인은 Windows Server 2003 관리 도구 팩의 일부로, 최신 버전은 go.microsoft.com/fwlink/?LinkId=91685에서 다운로드할 수 있습니다.

그림 5 MMC 페이지

그림 5** MMC 페이지 **(더 크게 보려면 이미지를 클릭하십시오.)

필자가 우연히 발견한 또 다른 흥미로운 팁은 바로 잘라내기와 붙여넣기에 관한 것입니다. 클라이언트와 서버에 걸쳐 적용되는 잘라내기 및 붙여넣기 기능은 Windows XP에서 처음 등장했습니다. 이 기능을 사용하려면 클라이언트와 서버 모두에 Windows XP가 실행되어야 하고 클립보드가 리디렉션되어야 합니다(그림 6 참조). Windows Vista 클라이언트는 또한 연결을 위해 클립보드 리디렉션이 설정된 경우에도 잘라내기 및 붙여넣기를 지원합니다.

그림 6 로컬 리소스 설정

그림 6** 로컬 리소스 설정 **(더 크게 보려면 이미지를 클릭하십시오.)

또한 Ctrl+Alt+Delete와 같은 바로 가기 키는 인터넷을 통해 원격 시스템으로 전송되지는 않으며, 항상 로컬 시스템에 적용됩니다. Ctrl+Alt+Delete를 원격 시스템으로 보내려면 클라이언트에서 Ctrl+Alt+End를 누르십시오.

마지막으로 Microsoft 터미널 서비스 팀의 블로그(blogs.msdn.com/ts)를 정기적으로 확인할 것을 권하고 싶습니다. 필자는 이 블로그를 자주 방문합니다.

개인적으로 필자는 원격 데스크톱과 터미널 서비스를 사용한 이후 작업이 훨씬 편리해졌기 때문에 이제 이러한 기능이 없는 세상은 상상할 수조차 없게 되었습니다. 여기서 다룬 내용을 통해 여러분도 RDP 6.0 클라이언트와 Windows Vista 및 Windows Server 2008의 새로운 기능에 친숙해지셨기를 바랍니다.

이 칼럼을 작성하는 데 도움을 준 터미널 서비스 팀의 수석 프로그램 관리자 Nelly Porter에게 감사의 말을 전합니다.

Wes Miller는 텍사스 오스틴에 있는 Pluck(www.pluck.com)의 개발 관리자입니다. 이전에는 오스틴에 있는 Winternals Software에서 근무했으며 Microsoft에서 프로그램 관리자 및 Windows 제품 관리자로도 근무한 경력이 있습니다. 문의 사항이 있으면 technet@getwired.com으로 연락하시기 바랍니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..