웹사이트 검색

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


이 페이지에서

  1. 오프라인 설치\n
  2. Ubuntu 클라우드 이미지 다운로드
  3. 두 개의 가상 머신 만들기
  4. IP 연결 확인\n
  5. SSH 구성
  6. Xfce4 설치
  7. XRDP 설치
  8. 웹 브라우저 설치

이 자습서에서는 제한된 액세스(인터넷 연결 없음) 환경에서 원격 데스크톱 역할을 하는 RDP 지원 Linux 호스트를 배포합니다. 추가 요구 사항은 여러 사용자가 이 호스트에 대해 동일한 자격 증명을 공유할 수 있다는 것입니다.

이를 위해 올바른 패키지를 오프라인 서버에 배포할 수 있도록 Ubuntu 클라우드 서버의 미러링된 두 인스턴스(하나는 온라인이고 다른 하나는 오프라인)를 사용할 것입니다. 또한 단일 사용자에 대해 여러 세션을 여는 기능 때문에 Xfce4 데스크탑이 선택되었습니다. 튜토리얼이 작성되는 순간까지 Gnome은 이 기능에 의존하지 않았습니다.

오프라인 설치

오프라인 시스템에 설치할 수 있도록 모든 패키지에 대해 다음 명령 시퀀스를 사용하여 온라인 VirtualBox에 동일한 시스템을 배포합니다.

온라인 시스템에서:

sudo apt-get install --download-only <package list>

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

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

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

apt-get clean

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

이 링크를 사용하십시오. OpenStack의 경우 qcow2와 동일한 img 확장자를 사용합니다. VirtualBox의 경우 이미 vmdk 디스크 파일이 포함된 ova가 필요합니다.

두 개의 가상 머신 생성

오픈스택에서:

한눈에 이미지 업로드:

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: Remote Desktop deployment

resources:

port_vm:
   type: OS::Neutron::Port
   properties:
     network: <network name>
     fixed_ips:
        - subnet: <subnet name>
          ip_address: <ip address>

server:
   type: OS::Nova::Server
   properties:
     name: <instance name>
      flavor: <flavor name>
     availability_zone: <zone name>
     networks:
       - port: { get_resource: port_vm }

  new_volume:
     type: OS::Cinder::Volume
     properties:
       size: <disk space in MB>

   volume_attachment:
     type: OS::Cinder::VolumeAttachment
     properties:
       volume_id: { get_resource: new_volume }
       instance_uuid: { get_resource: server }

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

heat stack-create -f <FILE> -e <FILE> <STACK_NAME>

콘솔에 연결하고 VM이 성공적으로 부팅되었는지 확인합니다. Ctrl-Alt Del로 다시 시작하고 Left-Shift를 눌러 복구 모드에 액세스하고 루트 암호를 변경하십시오.

버추얼박스에서:

ova 파일을 새 기기로 가져옵니다. 직렬 포트를 활성화해야 연결이 끊긴 상태로 유지될 수 있으며 클라우드 초기화 중 단계 중 하나를 우회하는 데 사용됩니다. 또한 네트워크 브리지 어댑터를 선택하고 인터넷에 액세스할 수 있는 호스트 네트워크 인터페이스에 연결해야 합니다.

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

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에서 두 VM으로의 연결이 작동해야 합니다.

VirtualBox VM에서 인터넷 연결이 제공되는 즉시 apt를 업데이트해야 합니다.

apt-get update

Xfce4 데스크탑 대신 Gnome을 설치하기로 선택한 경우 이 설치를 마치는 즉시 NetworkManager에 대해 networkd를 교체해야 합니다.

SSH 구성

루트 ssh 액세스를 활성화할 것입니다. 기본 /etc/ssh/sshd_config를 편집합니다.

  • 호스트키 3개 모두 활성화\n
  • PermitRootLogin을 예로 설정
  • HostBasedAuthentication 비활성화\n
  • 일반 텍스트 비밀번호 사용(PasswordAuthentication yes, PermitEmptyPasswords no)\n

또한 호스트 키 파일이 있는지 /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 데스크탑을 설치하는 단계입니다.

버추얼박스에서:

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를 청소하는 것을 잊지 마십시오.

오픈스택에서:

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

그런 다음 두 VM에 대해 새 사용자 ubuntu를 추가하고 sudo 그룹에 추가합니다.

adduser ubuntu
usermod -aG sudo ubuntu

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

XRDP 설치

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

버추얼박스에서:

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를 정리합니다.

오픈스택에서:

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를 사용하여 설치합니다.

Ubuntu 리포지토리에서 Firefox를 직접 얻을 수 있습니다.

버추얼박스에서:

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를 정리합니다.

오픈스택에서:

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

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

그리고 그게 다야. 서버에 대한 여러 RDP 세션을 열고 모든 것이 작동하는지 확인하십시오.

건배!