Mac에서 GCP Ubuntu Desktop으로 Microsoft Remote Desktop으로 로그인
면책 조항
실제로 운용한다면 IAM이나 Access Context Manager로 제어하거나 원격 측의 OS 설정도 제대로 생각할 필요가 있습니다. 어디까지나 개인 검증용이라고 하는 것으로.
이용환경
구축 방법
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을 선택했기 때문에 예상대로.
참고
#! /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)"
gcloud compute start-iap-tunnel ubuntu-desktop 3389 \
--local-host-port=localhost:3389 \
--zone=us-west1-a
Ubuntu Desktop에 로그인 할 수 있었으므로 Firefox에서 What is my IP Addreess?에서 확인해 보았습니다.
us-west1을 선택했기 때문에 예상대로.
참고
Reference
이 문제에 관하여(Mac에서 GCP Ubuntu Desktop으로 Microsoft Remote Desktop으로 로그인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kotaroito/items/41b4e0f6f8e8fb003576텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)