Mac에서 GCP Ubuntu Desktop으로 Microsoft Remote Desktop으로 로그인

5840 단어 우분투20.04RDPgcp
LAN 안의 데스크탑 환경을 재현하고 싶지만, 자택이나 회사의 네트워크의 설정은 자유도가 없다(라고 하는지 망가지면 힘들다) 때문에, 끊어도 곤란하지 않는 IaaS로. Mac에서 GCP Ubuntu Desktop으로 Microsoft Remote Desktop으로 로그인할 때까지의 길을 정리해 둡니다.

면책 조항



실제로 운용한다면 IAM이나 Access Context Manager로 제어하거나 원격 측의 OS 설정도 제대로 생각할 필요가 있습니다. 어디까지나 개인 검증용이라고 하는 것으로.

이용환경


  • 로컬: Mac OS + Microsoft Remote Desktop 앱
  • 통신: Identity-aware Proxy에서 RDP 트래픽 터널링
  • 원격 : Ubuntu 20.04 (GCP)에 xrdp 설치

  • 구축 방법



    1. GCP



    외부 IP에서 3389를 노출하는 것은 위험하기 때문에 GCE 인스턴스에서 외부 IP를 설정하지 않고 Identity-aware Proxy TCP 전송에 IAP 사용을 채용했다.

    VPC, Firewall, Router, Cloud-Nat 설정 등은 모두 다하고 있기 때문에 할애.
    GCE 인스턴스는 startup-script 를 준비해 두고 gcloud 명령으로 작성한다.

    성실하게 한다면, 사전에 이미지를 작성해 두는 것.
    #! /bin/bash
    sudo apt update
    sudo apt -y upgrade
    
    sudo apt -y install ubuntu-desktop xrdp
    sudo systemctl enable xrdp
    sudo systemctl start xrdp
    
    sudo useradd ${DESKTOP_USER} --create-home --shell /bin/bash
    echo "${DESKTOP_USER}:${DESKTOP_PASSWORD}" | sudo chpasswd
    sudo gpasswd -a ${DESKTOP_USER} sudo
    
    cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla  
    [Netowrkmanager]  
    Identity=unix-user:*  
    Action=org.freedesktop.color-manager.create-device  
    ResultAny=no  
    ResultInactive=no  
    ResultActive=yes  
    EOF
    
    export DESKTOP_USER=your_user
    export DESKTOP_PASSWORD=your_password
    
    gcloud compute instances create ubuntu-desktop \
        --machine-type n1-standard-1 \
        --image-project ubuntu-os-cloud \
        --image-family ubuntu-2004-lts \
        --network=desktop-vpc \
        --subnet=desktop-subnet-1 \
        --zone=us-west1-a \
        --no-address \
        --tags=ssh,rdp \
        --metadata startup-script="$(cat startup-script.sh | envsubst)"
    

    envsubst 에서 startup-script 변수를 대체합니다.

    2. IAP Tunnel



    GCE를 시작한 후 apt가 실행되기 때문에 그만한 시간이 경과하면 IAP Tunnel을 엽니다.
    gcloud compute start-iap-tunnel ubuntu-desktop 3389 \
        --local-host-port=localhost:3389 \
        --zone=us-west1-a
    

    이제 로컬 시스템에서 IAP를 통해 외부 IP 주소가 설정되지 않은 인스턴스에 액세스할 수 있습니다.
    Firewall에서 IAP의 IP Ranges로부터의 액세스를 허가해 두는 것은 말할 필요도 없다.

    3. Microsoft Remote Desktop



    RDP 프로토콜에 대응하면 아마 뭐든지 좋겠지만, Microsoft Remote Desktop 를 사용하기로 했다.

    사용법은 "Add PC"하고, "PC name"에 localhost 를 설정하면 된다.
    "User account"는 인스턴스를 만들 때 지정한 사용자와 암호를 설정합니다.



    동작 확인



    Ubuntu Desktop에 로그인 할 수 있었으므로 Firefox에서 What is my IP Addreess?에서 확인해 보았습니다.



    us-west1을 선택했기 때문에 예상대로.

    참고


  • htps : // 이 m/단자와 k/있어 ms/4 아 053에 0d0d1c7d9f655f
  • https://medium.com/anti-pattern-engineering/gcp%E3%81%A7ubuntu-desktop%E3%81%AE%E7%92%B0%E5%A2%83%E3%82%92%E4% BD%9C%E3%82%8A-%E5%BE%93%E9%87%8F%E8%AA%B2%E9%87%91%E5%88%B6%E3%81%AEgui-pc%E3 %82%92%E4%BD%9C%E3%82%8D%E3%81%86-fda25fefd845
  • 좋은 웹페이지 즐겨찾기