우분투 설치 · 4 min read · Feb 05, 2026

오프라인 Openstack 환경에서 RDP 지원 원격 데스크탑으로 Ubuntu Cloud 설치하기

이 튜토리얼에서는 인터넷 연결이 없는 제한된 접근 환경에서 원격 데스크탑 역할을 하는 RDP 지원 리눅스 호스트를 배포할 것입니다. 추가 요구 사항은 여러 사용자가 이 호스트에 동일한 자격 증명을 공유할 수 있어야 한다는 것입니다.

이를 위해 우리는 두 개의 미러링된 Ubuntu Cloud 서버 인스턴스를 사용할 것입니다. 하나는 온라인이고 다른 하나는 오프라인으로, 오프라인 서버에 올바른 패키지를 배포할 수 있도록 합니다. 또한, Xfce4 데스크탑은 단일 사용자가 여러 세션을 열 수 있는 기능 때문에 선택되었습니다. 튜토리얼이 작성될 당시 Gnome은 이 기능을 지원하지 않았습니다.

오프라인 설치

오프라인 시스템에서 설치를 허용하기 위해 온라인 VirtualBox에서 동일한 시스템을 배포할 것입니다. 각 패키지에 대해 다음 명령 시퀀스를 사용합니다:

온라인 시스템에서:

sudo apt-get install --download-only 

온라인 /var/cache/apt/archives에서 PC로 패키지를 복사하고 (sftp 클라이언트 또는 VirtualBox 공유 폴더 사용) PC에서 오프라인 시스템으로 복사합니다. 그런 다음 두 시스템에서:

dpkg -i /var/cache/apt/archives/*.deb

마지막으로, apt 아카이브를 정리합니다:

apt-get clean

Ubuntu 클라우드 이미지 다운로드

이 링크를 사용하세요. OpenStack의 경우 img 확장을 사용하며, 이는 qcow2와 동등합니다. VirtualBox의 경우 ova가 필요하며, 이는 이미 vmdk 디스크 파일을 포함하고 있습니다.

두 개의 가상 머신 만들기

OpenStack에서:

glance에 이미지를 업로드합니다:

glance image-create --name "Ubuntu Cloud image" --file ubuntu-18.04-server-cloudimg-amd64.img --is-public False --container-format bare --disk-format qcow2

고정 IP와 추가 디스크 공간이 있는 예제와 함께 핫 템플릿을 만듭니다:

heat_template_version: 2018-04-30  
  
description: 원격 데스크탑 배포  
  
resources:  
  
 port_vm:  
    type: OS::Neutron::Port  
    properties:  
      network:   
      fixed_ips:  
         - subnet:   
           ip_address:   
  
 server:  
    type: OS::Nova::Server  
    properties:  
      name:   
      flavor:   
      availability_zone:   
      networks:  
        - port: { get_resource: port_vm }  
  
   new_volume:  
      type: OS::Cinder::Volume  
      properties:  
        size:   
  
   volume_attachment:  
      type: OS::Cinder::VolumeAttachment  
      properties:  
        volume_id: { get_resource: new_volume }  
        instance_uuid: { get_resource: server }

스택을 생성하면 인스턴스가 자동으로 시작됩니다:

heat stack-create -f  -e  

콘솔에 연결하여 VM이 성공적으로 부팅되었는지 확인합니다. Ctrl-Alt Del로 재부팅하고 Left-Shift를 눌러 복구 모드에 접근하여 루트 비밀번호를 변경합니다.

VirtualBox에서:

ova 파일을 새 장치로 가져옵니다. 직렬 포트를 활성화하는 것을 잊지 마세요. 이는 클라우드 초기화 중 하나의 단계를 우회하는 데 사용됩니다. 또한, 네트워크 브리지 어댑터를 선택하고 인터넷에 접근할 수 있는 호스트 네트워크 인터페이스에 연결해야 합니다.

Left-Shift를 누른 상태로 부팅하여 GRUB 복구 모드에 접근합니다. 여기서 루트 비밀번호를 원하는 대로 변경할 수 있습니다. 이번에는 정상적으로 부팅하고 로그인합니다.

parted를 실행하여 파티션 데이터를 수정합니다:

parted를 사용한 파티셔닝

GPT 수정을 수락한 후, “resizepart”를 사용하여 디스크의 전체 기존 공간을 사용합니다:

파티션 크기 조정

parted를 종료하고 resize2fs를 사용하여 파일 시스템을 조정합니다:

이제 df -h에서 10G가 사용 가능하다고 표시되어야 합니다.

IP 연결 확인

Openstack이 DHCP를 통해 올바른 IP 주소를 제공할 수 있지만, 두 환경 모두에서 정적 IP를 구성할 것입니다. /etc/netplan에 yaml 확장자를 가진 파일을 만들고 IP 주소와 게이트웨이를 적절히 설정합니다:

network:  
       version: 2  
       renderer: networkd  
       ethernets:  
               enp0s3:  
                       dhcp4: no  
                       addresses: [192.168.1.100/24]  
                       gateway4: 192.168.1.1  
                       nameservers:  
                               addresses: [192.168.1.1]

새 구성을 적용합니다:

netplan apply

이제 VM에서 게이트웨이와 PC 모두에 연결이 작동해야 합니다.

VirtualBox VM에서 인터넷 연결이 제공되면, apt를 업데이트해야 합니다:

apt-get update

Xfce4 데스크탑 대신 Gnome을 설치하기로 선택한 경우, 이 설치가 완료되면 networkd를 NetworkManager로 교체해야 합니다.

SSH 구성

루트 ssh 접근을 활성화할 것입니다. 기본 /etc/ssh/sshd_config를 편집합니다:

  • 모든 3개의 HostKeys 활성화
  • PermitRootLogin을 yes로 설정
  • HostBasedAuthentication 비활성화
  • 일반 텍스트 비밀번호 활성화 (PasswordAuthentication yes, PermitEmptyPasswords no)

또한 /etc/ssh에서 호스트 키 파일의 존재를 확인합니다. VirtualBox에서는 일반적으로 누락되어 있습니다. ssh-keygen을 사용하여 새 키를 생성합니다:

ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ""  
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -t ecdsa -N ""  
ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -t ed25519 -N ""

서비스를 재시작합니다:

service sshd restart

이제 새 VM에 ssh로 접근할 수 있어야 합니다. 원한다면 일반 텍스트 비밀번호를 대체하기 위해 개인/공개 키 쌍을 생성할 수 있습니다.

Xfce4 설치

Ubuntu에 xfce4 데스크탑을 설치하는 단계입니다.

VirtualBox에서:

apt-get update  
apt-get install --download-only xfce4 xfce4-terminal gnome-icon-theme-full tango-icon-theme  
dpkg -i /var/cache/apt/archives/*.deb

그런 다음 /var/cache/apt/archives에서 Openstack VM으로 deb 패키지를 복사합니다. /var/cache/apt/archives를 정리하는 것을 잊지 마세요.

Openstack에서:

dpkg -i /var/cache/apt/archives/*.deb  
apt-get clean

그 후, 두 VM에 새 사용자 ubuntu를 추가하고 sudo 그룹에 추가합니다:

adduser ubuntu  
usermod -aG sudo ubuntu

모든 질문에 대해 ENTER를 클릭하면 됩니다. 홈 디렉토리는 자동으로 추가됩니다.

XRDP 설치

사용자를 ubuntu로 변경하여 XRDP가 /home/ubuntu에서 필요한 구성을 수행하도록 합니다.

VirtualBox에서:

sudo apt-get install --download-only xrdp  
sudo dpkg -i /var/cache/apt/archives/*.deb

/var/cache/apt/archives에서 Openstack VM으로 deb 패키지를 복사합니다. /var/cache/apt/archives를 정리합니다.

Openstack에서:

sudo dpkg -i /var/cache/apt/archives/*.deb  
sudo apt-get clean

두 시스템에서 XRDP를 구성합니다:

/etc/xrdp/sesman.ini를 편집하고 Policy=UBDC로 설정합니다. 이는 동일한 사용자 이름으로 여러 세션을 활성화합니다.

/etc/xrdp/startwm.sh를 편집하여 끝에 startxfce4를 추가합니다:

#!/bin/sh  
  
if [ -r /etc/default/locale ]; then  
. /etc/default/locale  
export LANG LANGUAGE  
fi  
  
unset SESSION_MANAGER  
unset DBUS_SESSION_BUS_ADDRESS  
startxfce4

XRDP 서비스를 재시작합니다:

sudo service xrdp restart

웹 브라우저 설치

웹 브라우저는 Xfce4에 추가해야 합니다. 인터넷에서 Google Chrome deb를 검색하여 dpkg를 사용하여 설치합니다.

Firefox는 Ubuntu 저장소에서 직접 가져올 수 있습니다.

VirtualBox에서:

sudo apt-get install --download-only firefox  
sudo dpkg -i /var/cache/apt/archives/*.deb

/var/cache/apt/archives에서 Openstack VM으로 deb 패키지를 복사합니다. /var/cache/apt/archives를 정리합니다.

Openstack에서:

sudo dpkg -i /var/cache/apt/archives/*.deb  
sudo apt-get clean

각 브라우저에 대한 바로가기를 작업 표시줄 및/또는 바탕화면에 추가합니다.

이제 모든 것이 완료되었습니다. 서버에 여러 RDP 세션을 열고 모든 것이 작동하는지 확인하세요.

건배!

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.