Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

이 글에서는 Active Directory 도메인이 없는 작업 그룹(Workgroup) 환경에서, 연결 브로커(Connection Broker), 원격 데스크톱 웹 액세스(RD Web Access), RDS 게이트웨이와 같은 추가 역할 없이 원격 데스크톱 세션 호스트(Remote Desktop Session Host) 역할을 설치하고 구성하는 방법을 소개합니다. Windows Server 2019/2022에서 단일 서버 RDS 배포를 구축하는 전 과정을 다룹니다.

RDSH(원격 데스크톱 세션 호스트)란?

RDSH 역할이 설치된 Windows Server는 여러 사용자가 RDP를 통해 동시에 서버에 접속할 수 있도록 지원합니다(기본적으로 Windows Server에서는 관리자용 원격 데스크톱 연결 2개만 허용됨). 각 사용자에게는 별도의 세션이 생성되며, 개인 데스크톱 환경에 접근하게 됩니다.

다만 작업 그룹 환경에서 단독 RDS 호스트를 운영할 경우 기능에 제약이 있다는 점을 유의해야 합니다. 완전한 기능을 갖춘 RDS 팜(farm)으로 확장할 수 없고, 별도의 컬렉션이나 RemoteApp을 생성할 수 없으며, 연결 브로커가 없고, 사용자 프로필 디스크(User Profile Disks)도 사용할 수 없습니다. 또한 중앙 집중식 관리 도구가 없어 유지 보수 중 드레인 모드로 전환하면 사용자에게 RDS 서비스를 제공할 수 없습니다.

Windows Server 2019/2022에 원격 데스크톱 서비스 역할 설치하기

Windows Server가 이미 설치되어 있고 기본 설정(IP 주소, 서버 이름, 시간/날짜, 업데이트 설치 등)이 완료되었다고 가정합니다. RDS 역할은 서버 관리자(Server Manager) 또는 PowerShell을 이용해 설치할 수 있습니다.

서버 관리자를 이용하는 방법: 역할 기반 또는 기능 기반 설치 → 서버 역할 → 원격 데스크톱 서비스에서 원격 데스크톱 세션 호스트원격 데스크톱 라이선싱을 선택합니다(역할 관리용 RSAT 기능 설치에 동의).

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

주의할 점은, 서버 관리자에서 '원격 데스크톱 서비스 설치'를 선택하면 표준 배포 또는 빠른 시작 모드에서 RD 연결 브로커와 웹 액세스가 자동으로 설치된다는 것입니다. 독립형 RDS 호스트를 구축하는 이 글의 시나리오에서는 이러한 역할이 필요하지 않습니다. Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

PowerShell을 이용해도 동일하게 설치할 수 있습니다:

Install-WindowsFeature -Name RDS-Licensing, RDS-RD-Server –IncludeManagementTools

서버에 설치된 RDS 역할을 확인하려면 다음 명령을 실행합니다:

Get-WindowsFeature -Name RDS* | Where installed

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

설치가 완료되면 서버를 재시작합니다:

Restart-Computer

원격 데스크톱 라이선싱 구성 및 RDS 라이선스(CAL) 설치

다음 단계는 사용자 RDP 연결에 라이선스를 공급하는 원격 데스크톱 라이선싱(Remote Desktop Licensing) 역할을 구성하는 것입니다. 네트워크에 호스트가 하나뿐이라면 이 서버에 라이선싱 역할을 설치·활성화해도 되고, 별도의 서버에 배치할 수도 있습니다. RDS 라이선싱 역할이 설치된 하나의 서버는 여러 RDS 호스트에 라이선스를 발급할 수 있습니다.

로컬 RD 라이선싱 서버를 사용하기로 했다면, RDS 라이선싱 서버를 활성화하고 클라이언트 라이선스(RDS CAL)를 설치합니다.

중요: 작업 그룹 환경에서는 반드시 디바이스 단위(Per Device) RDS CAL을 사용해야 합니다. 라이선스 서버가 사용자 단위(Per User) 라이선스만 발급하는 경우, 사용자가 RDP로 서버에 접속할 때 다음과 같은 오류가 표시됩니다:

원격 데스크톱 라이선스 문제
원격 데스크톱 라이선스에 문제가 있으며 60분 후 세션이 연결 해제됩니다.

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

작업 그룹에서 원격 데스크톱 세션 호스트 구성하기

제어판 → 시스템 및 보안 → 관리 도구 → 원격 데스크톱 서비스 → 원격 데스크톱 라이선싱 진단 도구(Remote Desktop Licensing Diagnoser)를 실행합니다. 아직 서버가 라이선스 서버로부터 RDS CAL을 받도록 구성되지 않았으며, 다음 메시지로 이를 확인할 수 있습니다:

  • 원격 데스크톱 세션 호스트 서버의 라이선싱 모드가 구성되지 않았습니다
  • 클라이언트에 사용 가능한 라이선스 수: 0

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

RDSH 서버가 CAL을 발급할 수 있는 RDS 라이선스 서버를 지정하지 않으면 서버는 평가(그레이스) 모드로 유지됩니다. 이 모드에서 RDS 서비스는 120일 동안만 작동하며, 연결할 때마다 트레이에 "원격 데스크톱 서비스가 xxx일 후 중지됩니다"라는 메시지가 표시됩니다. 유예 기간이 끝나면 사용자는 다음 오류로 인해 RDS에 접속할 수 없습니다:

"이 컴퓨터에 사용할 수 있는 원격 데스크톱 클라이언트 액세스 라이선스가 없어 원격 세션 연결이 해제되었습니다."

도메인이 없는 작업 그룹 환경의 Windows Server 원격 데스크톱 서비스의 가장 큰 단점은 RDS 역할을 관리할 편리한 관리 도구가 없다는 것입니다. RDSH 역할의 대부분 설정은 로컬 그룹 정책 편집기(gpedit.msc)에서 직접 구성해야 합니다. 참고로 Windows Server 2008 R2의 tsadmin.msc, tsconfig.msc MMC 콘솔을 최신 Windows Server로 복사해 사용하는 비공식적인 방법도 있습니다.

로컬 그룹 정책으로 RDS 라이선싱 설정 구성

  1. 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → 원격 데스크톱 서비스 → 원격 데스크톱 세션 호스트 → 라이선싱으로 이동합니다.
  2. 원격 데스크톱 라이선싱 모드 설정디바이스 단위(Per Device)로 변경합니다.
  3. 지정된 원격 데스크톱 라이선스 서버 사용 옵션에 RD 라이선싱 서버가 설치된 서버의 IP 주소를 입력합니다. 라이선스 서버가 로컬에 설치된 경우 localhost 또는 127.0.0.1을 지정합니다. Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기
  4. 로컬 그룹 정책을 갱신한 후 원격 데스크톱 라이선싱 진단 도구를 다시 실행하여 RDS CAL이 정상적으로 인식되는지 확인합니다.

로컬 GPO에서는 RDP 세션 제한 시간(타임아웃)이나 비활성 사용자 연결 해제 규칙 등도 함께 설정할 수 있습니다. 로컬 사용자와 관리자에게 서로 다른 정책을 적용하려면 MLGPO(다중 로컬 그룹 정책) 기능을 활용하면 됩니다.

로컬 사용자 계정 생성 및 원격 접속 권한 부여

이제 RDS 서버에 로컬 사용자 계정을 생성합니다. lusrmgr.msc 콘솔 또는 PowerShell을 사용할 수 있습니다:

$UserPassword = ConvertTo-SecureString "PaSS123!" -AsPlainText -Force
New-LocalUser a.brown -Password $UserPassword -FullName "Andi Brown"

사용자는 RDP 세션 내에서 직접 비밀번호를 변경할 수 있습니다.

사용자가 원격 데스크톱 서비스를 통해 서버에 접속하려면 해당 계정을 로컬 Remote Desktop Users 그룹에 추가해야 합니다. 컴퓨터 관리 콘솔에서 수동으로 추가하거나 PowerShell을 이용합니다:

Add-LocalGroupMember -Group "Remote Desktop Users" -Member a.brown

Windows Server 2019/2022 작업 그룹 환경(도메인 없음)에 원격 데스크톱 세션 호스트(RDSH) 배포하기

이 그룹은 '원격 데스크톱 서비스를 통한 로그온 허용(Allow logon through Remote Desktop Services)' GPO 옵션(컴퓨터 구성 → Windows 설정 → 보안 설정 → 로컬 정책 → 사용자 권한 할당)을 통해 원격 로그온이 허용됩니다. 동일한 정책은 도메인 컨트롤러에도 비관리자 사용자의 RDP 접근을 허용하는 데 사용됩니다.

접속 테스트 및 라이선스 발급 확인

이제 사용자가 자신의 컴퓨터에서 mstsc.exe(또는 기타 RDP 클라이언트)로 RDS 호스트에 접속해 볼 수 있습니다. 두 명 이상의 활성 사용자가 동시에 서버에 접속할 수 있는지 반드시 확인하세요.

첫 로그인 시 사용자 디바이스에 임시 라이선스가 발급되고(디바이스 단위 라이선싱 특성), 두 번째 로그인 시 영구 라이선스가 발급되어 원격 데스크톱 라이선싱 관리자에 표시됩니다. 라이선스는 52~89일(무작위 값)의 기간 동안 유효합니다.

사용 가능한 디바이스 단위 라이선스가 부족하다면, 일부 사용자 디바이스의 라이선스를 수동으로 회수할 수 있습니다. RDS 라이선싱 콘솔 또는 다음 PowerShell 스크립트를 사용하세요:

$licensepacks = Get-WmiObject win32_tslicensekeypack | where {($_.keypacktype -ne 0) -and ($_.keypacktype -ne 4) -and ($_.keypacktype -ne 6)}
# 디바이스 단위 라이선스 총 개수
$licensepacks.TotalLicenses
# 디바이스에 발급된 라이선스 목록
$TSLicensesAssigned = gwmi win32_tsissuedlicense | where {$_.licensestatus -eq 2}
# 라이선스를 회수할 컴퓨터 이름
$compname="wksmun2a15"
$RevokePC = $TSLicensesAssigned | ? sIssuedToComputer -EQ $compname
$RevokePC.Revoke()

사용자의 RDP 세션에 연결해 지원해야 하는 경우에는 RDS 섀도 연결(shadow connection) 모드를 활용할 수 있으며, 이 기능은 작업 그룹 환경의 RDSH에서도 정상적으로 작동합니다.