::: IT인터넷 :::

우분투 또는 우분투 서버에 RDP로 원격 연결 사용하기

곰탱이푸우 2021. 12. 16. 08:20
일반적으로 원격으로 서버나 PC에 접속해서 작업을 진행하기 위해서는 ssh를 사용하거나 원격 데스크톱 연결 (RDP)를 주로 사용한다.
ssh를 사용하는 방법은 아래 포스팅을 참고한다.
 

우분투 또는 우분투 서버에 ssh로 원격 연결 사용하기

일반적으로 원격으로 서버나 PC에 접속해서 작업을 진행하기 위해서는 ssh를 주로 사용한다. 그러나 우분투 운영체제에는 기본적으로 설치되어 있지 않아 직접 설치해야 한다. ssh 서비스 동작 여

www.bearpooh.com

 
이번 포스팅에서는 우분투 데스크톱 또는 서버에 RDP 설정을 적용해서 윈도우의 원격 데스크탑 연결 (RDP)을 통해 원격으로 연결하는 방법을 알아본다.

 

 

rdp 접속 가능 여부 확인

우분투 데스트톱 또는 서버에서 웬만한 작업은 ssh로 해결 가능하다. 그러나 가상 환경 생성과 관리와 같은 작업은 GUI가 훨씬 편한 경우가 많다.
물론 docker는 CLI로 사용해도 큰 문제가 없지만, VirtualBox나 VMware와 같은 가상환경은 CLI 환경으로 진행하기엔 불편한점이 많은 것이 사실이다. 
따라서 무리해서 CLI를 사용하는 것보다 RDP로 접속해서 GUI 환경에서 작업을 하는 것이 훨씬 낫다. 
 
그러나 우분투 장비에 RDP로 접속하려고 하면 다음과 같이 접속되지 않는다.

 

 
우분투 서버가 기본적으로 RDP를 제공하지 않기 때문이다.
또한  우분투 서버에는 GUI가 포함되어 있지 않아서, GUI까지 설치해야 정상적인 RDP를 사용할 수 있다.
 

RDP 설정

RDP와 우분투 GUI 도구는 여러 가지가 있지만, xrdp와 xfce 두 개를 설치하면 간단하게 해결 가능하다.
  1. Xrdp 설치 후 테스트 (Gnome)
  2. Xfce4 + Xrdp 설치 후 테스트
 
 

xrdp 설치

다음 명령을 이용하여 xrdp를 설치한다.
$ sudo apt update
$ sudo apt install --no-install-recommends xrdp
 
--no-install-recommends 옵션을 지정한 것이 중요하다. 우분투 데스크톱 또는 서버 20.04 버전에서는 recommend로 ubuntu-desktop 관련 패키지가 설치 된다.
문제는 ubuntu-desktop 패키지에 사용하지 않을 기능이 다수 포함 되어 있어, 아래와 같이 불필요한 프로그램들이 다수 설치 된다는 것이다.
 
우분투 서버 20.04 LTS에서 --no-install-recommends 옵션을 지정하지 않으면 약 488개 패키지가 새로 설치되고 1GB 정도의 설치 용량을 요구하는 것을 확인할 수 있다.

 

--no-install-recommends 옵션을 지정하면 다음과 같이 8개 패키지가 새로 설치되고 약 4MB의 설치 용량을 요구하는 것을 확인할 수 있다.
 
 
설치가 완료되면 다음 명령어로 서비스 실행 상태를 확인한다.
$ systemctl status xrdp
 

 

정상 설치 된 경우 다음과 같이 Active 상태를 확인할 수 있다.

 

 
포트 변경이 필요한 경우 다음 명령을 실행한다.
# sudo 권한으로 실행해야 내용 수정이 가능하다.
$ sudo vi /etc/xrdp/xrdp.ini
 
아래 port=3389 부분의 포트를 원하는 포트로 수정한다.
변경한 포트를 사용하고자 하는 경우 방화벽이나 포트포워딩 설정도 진행한다. (여기서는 생략한다.)

 

 

xorgxrdp 설치

그리고 xrdp 환경에서 xorg (또는 X11) GUI를 사용할 수 있도록 해주는 xorgxrdp를 설치한다.
$ sudo apt install xorgxrdp

# 우분투 18.04 버전인 경우 아래 명령을 실행한다.
$ sudo apt install xorgxrdp-hwe-18.04
 
해당 패키지가 설치되어 있지 않으면, 원격 연결해서 로그인해도 원격 PC 또는 서버의 화면이 출력되지 않는다.
 
자세한 설명은 아래를 참고한다. (사실 이해는 잘 안된다.)

xfce 설치

그리고 우분투 서버인 경우 GUI가 설치되어 있지 않기 때문에 GUI 환경을 설정해야 한다.
우분투 데스크탑인 경우에도 GUI를 사용하지 않도록 설정한 경우 설치해야 한다.
 
ubuntu-desktop과 xfce4를 많이 추천하는데, xfce4가 가볍다고 알려져 있어 xfce4를 설치했다.
 
다음 명령을 실행한다.
$ sudo apt install xfce4
 
설치하는 의존성이 있는 프로그램들의 목록이 많아 오래 걸린다.
설치 도중 gdm3와 lightdm을 고르라는 메시지가 출력되는데 lightdm을 선택한다.
 
일반적으로 lightdm이 원격 접속을 지원하는 것으로 알려져있다. 차이점은 아래 포스팅을 참고한다.
그리고 xrdp를 xfce4의 GUI로 연결하기 위해 아래 명령을 실행한다.
$ echo xfce4-session >~/.xsession
 
 

xserver-xorg-input-all 설치

위의 작업만 마치고 재부팅하면 화면은 출력되지만 키보드와 마우스 입력이 되지 않는다.
따라서 재부팅하기 전에 반드시 아래 패키지를 설치해야 한다. GUI 환경에서 키보드와 마우스 입력을 지원하는 패키지이다.
 
아래 명령으로 설치한다.
$ sudo apt install xserver-xorg-input-all

 

RDP 설정 결과 확인

RDP 서비스 재시작

먼저 xrdp 서비스를 재시작한다.
$ sudo service xrdp restart
 

RDP 접속 및 로그인

그리고 윈도우 환경에서 원격 데스크톱 연결을 실행하고 해당 서버로 접속한다.
아래와 같이 로그인 화면을 확인할 수 있다.
 
로그인 하려는 계정과 패스워드를 입력하면 다음과 같이 원격 연결이 된 것을 확인할 수 있다.
 
 

주의 사항

xrdp의 경우 로컬 세션과 원격 세션이 공유되는 특징이 있다.
로컬 세션의 로그아웃을 하지 않은 상태에서 원격으로 로그인하면, 실행하는 프로그램들이 로컬 세션의 화면에 출력되고 원격 화면에는 출력되지 않는다.
 
따라서 원격 로그인을 해야 하는 경우 반드시 로컬 접속을 로그아웃해야 한다.
 

참고 사항

재부팅

설치 후 재부팅하면 GUI 환경으로 로그인 화면이 변경되는 것을 확인할 수 있다.
 
앞서 설명한 xserver-xorg-input-all 패키지 설치를 하지 않으면 키보드와 마우스가 먹통일 수 있다.
따라서 반드시 xserver-xorg-input-all 패키지를 설치한다.
 
로컬에서 설치하지 못했을 경우에는, 원격으로 접속해서 설치하고 재부팅하면 된다.
# 원격 연결 상태에서 터미널을 열고 아래 명령어를 실행한다.
$ sudo apt install xserver-xorg-input-all

# 설치가 완료되면 아래 명령어로 장비를 재부팅한다.
$ sudo reboot
 

한글 적용하기

xfce4 설치 이후 한글을 적용하는 방법은 아래 포스팅을 참고한다