회사에서 보안상의 이유로 원격 데스크톱 포트를 변경해서 사용하시는 분들 계실 것입니다. 그런데 간혹 포트를 자주 변경해야 하는 경우가 발생하는데, 차라리 기존 포트를 변경하지 않고 새로운 포트를 추가해서 여러개의 포트로 리스닝 하는 것은 어떨까요?

1. 레지스트리 키 복사하여 새로운 키 생성

아래와 같은 명령어로 기존 키를 복사해서 새로운 키를 하나 생성합니다. 이때 빨간색 부분에 들어갈 이름은 아무렇게나 지정해 주시면 됩니다. 참고로 아래 명령어는 한줄이며, 관리자 권한으로 실행해야 합니다.

REG COPY "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-9090" /f


2. 새로운 키에서 TCP 포트 변경

저는 위에서 RDP-9090 이라는 이름으로 키를 생성하였는데, 실제 리스닝 포트도 9090으로 수정해 보겠습니다.

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-9090" /v PortNumber /t REG_DWORD /d 9090 /f


3. 방화벽 허용

다음은 윈도우 방화벽에서 TCP 9090 포트를 허용해 주겠습니다.

ㅇ 윈도우 XP, 2003 계열
netsh firewall add portopening TCP 9090 "RDP-9090"

ㅇ 윈도우 비스타, 7 계열
netsh advfirewall firewall add rule name="RDP-9090" dir=in action=allow protocol=tcp localport=9090



4. 터미널 서비스 재시작

마지막으로 터미널 서비스를 재시작 해주시면 됩니다. 물론 윈도우를 재시작 하셔도 상관은 없습니다. 그런데 원격 터미널 붙은 상태에서 이 작업을 하시는 분들은 꼭 주의하셔야 합니다. 터미널 서비스 중지 명령어를 먼저 내려버리면 시작 명령어를 내리기 전에 연결이 끊어져 버리기 때문에 이러지도 저러지도 못하게 됩니다.

제가 예전에 이 실수를 해서 큰일날 뻔 했기 때문에... 명령어 2개를 &로 묶어서 한줄로 처리하는게 안전할 것 같습니다.

net stop /y TermService & net start TermService



위 절차대로 하시면 원격 데스크톱 리스닝 포트를 여러개 동시에 열 수 있습니다. 이상입니다.