En este instructivo, se muestra cómo configurar el servicio Escritorio remoto de Chrome en una instancia de máquina virtual (VM) de Microsoft Windows en Compute Engine. Si deseas obtener instrucciones independientes para las VMs de Linux, consulta Máquinas virtuales de Linux. El Escritorio remoto de Chrome te permite acceder de forma remota a las aplicaciones con una interfaz gráfica de usuario desde una computadora local o un dispositivo móvil.
Cuando sigues este instructivo, las reglas de firewall predeterminadas permiten conexiones de Escritorio remoto de Chrome; no necesitas configurar ninguna regla de firewall adicional.
La VM necesita acceso a Internet (ya sea con una dirección IP externa o a través de Cloud NAT), y debes usar tu Cuenta de Google para la autenticación y autorización.
A continuación, se describen dos métodos para configurar el Escritorio remoto de Chrome:
Método interactivo que usa el protocolo de escritorio remoto de Windows (RDP).
Este método requiere que se pueda acceder de forma directa a la VM desde tu máquina local a través de un cliente de RDP, que puede no ser posible en todas las situaciones.
Un método no interactivo que usa una secuencia de comandos de inicio para instalar y configurar el Escritorio remoto de Chrome mientras se crea la VM.
Este método debe usarse si tienes firewalls que impiden el acceso directo a la VM o si no tienes acceso a un cliente de RDP, por ejemplo, en el Sistema operativo Chrome.
En este instructivo, se supone que estás familiarizado con Microsoft Windows y la línea de comandos de PowerShell.
Si deseas obtener información sobre otras opciones para la creación de estaciones de trabajo virtuales, consulta Crea una estación de trabajo virtual.
Objetivos
- Crear una instancia de VM de Compute Engine para ejecutar el Escritorio remoto de Chrome en ella
- Instalar y configurar el servicio de Escritorio remoto de Chrome en la instancia de VM
- Conectarte desde tu computadora local al entorno del escritorio en la instancia de VM
Costos
En este instructivo, se usan componentes facturables de Google Cloud, que incluyen los siguientes:
- Compute Engine
Usa la Calculadora de precios para generar una estimación de los costos, según el uso previsto.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
Make sure that you have the following role or roles on the project: roles/compute.admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
- Usa el navegador Google Chrome en tu máquina local.
- Si usas el método interactivo, tu máquina local debe tener un cliente RDP y poder realizar una conexión RDP directa a la instancia de VM remota.
-
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Instalación interactiva a través de RDP
Para instalar el Escritorio remoto de Chrome de forma interactiva, debes poder conectarte a la VM remota a través de un cliente de RDP. En este instructivo, crearás la VM en la VPC predeterminada con reglas de firewall predeterminadas, que exponen el puerto RDP 3339 a la Internet.
Si esto no es posible en tu entorno, usa el método no interactivo que se describe más adelante en este documento.
Crea una instancia de Compute Engine
A los fines de este instructivo, se usa el tipo de máquina predeterminado. Si usas esto para tu propio entorno, te recomendamos cambiar el tipo de máquina, el nombre, la región, el tamaño del disco de arranque o alguna otra configuración.
Consola
- En la consola de Google Cloud, ve a la página Instancias de VM:
Haz clic en Crear.
Configura el nombre de la instancia como
crdhost
.Habilita la casilla de verificación Habilitar el dispositivo de visualización ya que el Escritorio remoto de Chrome requiere un dispositivo de visualización en las VMs de Windows.
En Disco de arranque, haz clic en Cambiar para abrir el panel Disco de arranque.
En la lista Sistema operativo, selecciona Windows Server.
En la lista Versión, selecciona Windows Server 2022 Datacenter.
Haz clic en Seleccionar para cerrar el panel.
Haz clic en Crear.
Cloud Shell
Abre Cloud Shell
Establece tu zona preferida:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Crea una instancia de Compute Engine con la imagen de la aplicación para Windows Server 2022 Datacenter:
gcloud compute instances create crdhost \ --machine-type=e2-medium \ --scopes=cloud-platform \ --enable-display-device \ --image-family=windows-2022 \ --image-project=windows-cloud \ --boot-disk-size=50GB \ --boot-disk-device-name=crdhost
Este comando crea una máquina virtual de Windows Server 2022 que tiene un dispositivo de visualización adjunto (necesario para el Escritorio remoto de Chrome en VM de Windows) un disco de arranque de 50 GB y otorga a la instancia acceso completo a las APIs de Google Cloud.
Ignora la advertencia sobre el rendimiento del disco, ya que no necesitas un alto rendimiento para este instructivo.
Conéctate a la instancia de VM a través de RDP
En la consola de Google Cloud, ve a la página Instancias de VM.
Asegúrate de que aparezca una marca de verificación verde check junto al nombre de la instancia
crdhost
, lo cual indica que la instancia está lista.Haz clic en el nombre de la instancia
crdhost
para abrir la página Detalles de instancia de VM.En Acceso remoto, haz clic en Configurar contraseña de Windows y, luego, en Configurar para crear una cuenta en la máquina remota.
Con este paso, generas una contraseña. Toma nota de la contraseña o cópiala en un archivo temporal seguro.
Para conectarte a la instancia remota, haz clic en la flecha arrow_drop_down junto al botón RDP y, luego, selecciona Descargar el archivo de RDP. Puedes abrir el archivo RDP con tu cliente RDP preferido.
Cuando el cliente de RDP solicite una contraseña, ingresa la contraseña que generaste antes.
Cuando se te pregunte si quieres que otras computadoras y dispositivos de la red puedan detectar tu computadora, haz clic en No.
Cierra el panel del administrador de servidores si está abierto.
Instala el servicio de Escritorio remoto de Chrome
El siguiente paso es instalar Google Chrome y el servicio de Escritorio remoto de Chrome en la instancia de VM.
En tu sesión de RDP, haz clic en Iniciar de la barra de tareas de Windows, escribe
PowerShell
y, luego, selecciona la app de Windows PowerShell.Cuando recibas el mensaje de PowerShell, descarga y ejecuta el instalador del host de Escritorio remoto de Chrome.
$installer = "$env:TEMP\chromeremotedesktophost.msi" $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' (New-Object Net.WebClient).DownloadFile($uri,"$installer") && ` Start-Process $installer -Wait && ` Remove-Item $installer
Cuando se te solicite, confirma que deseas que el instalador realice cambios.
Configura el servicio de Escritorio remoto de Chrome
Ahora, generarás un comando de Windows que inicia el servicio de Escritorio remoto de Chrome y lo vincula a tu Cuenta de Google.
En el navegador Chrome de tu computadora local, ve a la página de configuración de la línea de comandos del Escritorio remoto de Chrome.
Si aún no lo hiciste, accede con una Cuenta de Google. Esta es la cuenta que se usará para autorizar el acceso remoto.
En la página Configurar otra computadora, haz clic en Empezar y, luego, en Siguiente.
Haz clic en Autorizar.
Debes permitir que el Escritorio remoto de Chrome acceda a tu cuenta. Si apruebas, la página muestra varias líneas de comandos, una de las cuales es para Windows (PowerShell) que se ve de la siguiente manera:
& "${Env:PROGRAMFILES(X86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" ` --code="4/ENCODED_AUTHENTICATION_TOKEN" ` --redirect-url="https://remotedesktop.google.com/_/oauthredirect" ` --name=$Env:COMPUTERNAME
Haz clic en Copiar content_copy para copiar la línea de comandos en el portapapeles.
En tu sesión de RDP, en el mensaje de PowerShell, pega la línea de comandos que acabas de copiar y presiona Intro.
Cuando se te solicite, confirma que deseas que la aplicación realice cambios.
Cuando se te solicite, ingresa un PIN de 6 dígitos. Este número se usará para obtener autorización adicional cuando te conectes más tarde.
Una vez que se complete el comando, se iniciará el servicio de escritorio remoto.
Cierra la ventana de PowerShell.
Cierra la sesión de RDP.
Ahora puedes conectarte a la VM con el Escritorio remoto de Chrome.
Instalación no interactiva
En este enfoque, configuras la instancia de VM para tener una secuencia de comandos de inicio que se ejecuta cuando se crea la VM.
Con este enfoque, no es necesario que se pueda acceder de forma directa a la VM desde Internet, aunque todavía necesita acceso a Internet.
Autoriza el servicio de Escritorio remoto de Chrome
Ahora, generarás un comando de Windows que usarás más adelante en la secuencia de comandos de specialize. Como parte de este procedimiento, deberás proporcionar la información de autorización que se incluye en el comando.
En el navegador Chrome de tu computadora local, ve a la página de configuración de la línea de comandos del Escritorio remoto de Chrome.
Si aún no lo hiciste, accede con una Cuenta de Google. Esta es la cuenta que se usará para autorizar el acceso remoto.
Haz clic en Empezar, y luego, en Siguiente.
Haz clic en Autorizar.
Permite que el Escritorio remoto de Chrome acceda a tu cuenta.
La página ahora contiene varias líneas de comandos, una de las cuales es para Windows (Cmd) que se verá de la siguiente manera:
"%PROGRAMFILES(X86)%\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" --code="4/ENCODED_AUTHENTICATION_TOKEN" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=%COMPUTERNAME%
La marca
--code
contiene un token de OAuth único de corta duración.El código de autorización en la línea de comandos es válido solo durante algunos minutos y puedes usarlo solo una vez.
Mantén esta página abierta.
Copia el comando de inicio en Cloud Shell
El siguiente paso es crear un archivo en tu instancia de Cloud Shell que contenga el comando de inicio que acabas de generar.
Abre Cloud Shell
Cree un archivo para el comando de inicio:
cat > crd-auth-command.txt
Ve a la página que tiene el comando de inicio del Escritorio remoto de Chrome y copia la línea de comandos de Windows (Cmd).
En Cloud Shell, pega el comando para agregarlo al archivo.
Presiona Intro para finalizar la línea y, luego, presiona Control + D para cerrar el archivo.
Cree la secuencia de comandos de inicio
Copia el siguiente bloque de código y pégalo en Cloud Shell.
cat << "EOF" > crd-sysprep-script.ps1 <# .SYNOPSIS GCESysprep specialize script for unattended Chrome Remote Desktop installation. #> $ErrorActionPreference = 'stop' function Get-Metadata([String]$metadataName) { try { $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/$metadataName") } catch { # Report but ignore REST errors. Write-Host $_ } if ($value -eq $null -or $value.Length -eq 0) { throw "Metadata value for ""$metadataName"" not specified. Skipping Chrome Remote Desktop service installation." } return $value } # Get config from metadata # $crdCommand = Get-Metadata('crd-command') $crdPin = Get-Metadata('crd-pin') $crdName = Get-Metadata('crd-name') if ($crdPin -isNot [Int32] -or $crdPin -gt 999999 -or $crdPin -lt 0) { throw "Metadata ""crd-pin""=""$crdPin"" is not a 6 digit number. Skipping Chrome Remote Desktop service installation." } # Prefix $crdPin with zeros if required. $crdPin = $crdPin.ToString("000000"); # Extract the authentication code and redirect URL arguments from the # remote dekstop startup command line. # $crdCommandArgs = $crdCommand.Split(' ') $codeArg = $crdCommandArgs | Select-String -Pattern '--code="[^"]+"' $redirectArg = $crdCommandArgs | Select-String -Pattern '--redirect-url="[^"]+"' if (-not $codeArg) { throw 'Cannot get --code= parameter from crd-command. Skipping Chrome Remote Desktop service installation.' } if (-not $redirectArg) { throw 'Cannot get --redirect-url= parameter from crd-command. Skipping Chrome Remote Desktop service installation.' } Write-Host 'Downloading Chrome Remote Desktop.' $installer = "$env:TEMP\chromeremotedesktophost.msi" $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' (New-Object Net.WebClient).DownloadFile($uri,"$installer") Write-Host 'Installing Chrome Remote Desktop.' & msiexec.exe /I $installer /qn /quiet | Out-Default Remove-Item $installer Write-Host 'Starting Chrome Remote Desktop service.' & "${env:ProgramFiles(x86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" ` $codeArg $redirectArg --name="$crdName" -pin="$crdPin" | Out-Default Write-Host 'Downloading Chrome.' $installer = "$env:TEMP\chrome_installer.exe" $uri = 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' (New-Object Net.WebClient).DownloadFile($uri,"$installer") Write-Host 'Installing Chrome.' & $installer /silent /install | Out-Default Remove-Item $installer EOF
Este bloque de código es una secuencia de comandos de PowerShell que se ejecuta cuando se crea la VM. Con él, se realizan las siguientes acciones:
- Se descarga y se instala el servicio host del Escritorio remoto de Chrome.
- Recupera los siguientes parámetros de metadatos:
crd-command
: El comando de inicio y la autenticación de Windowscrd-pin
: El PIN de 6 dígitos que se usa para la autenticación adicional.crd-name
: Es el nombre de esta instancia.
- Configura y, luego, inicia el servicio host del Escritorio remoto de Chrome.
- Se descarga y se instala el navegador Chrome.
Crea una máquina virtual de Windows nueva
Ahora crearás una VM de Windows nueva con los archivos creados antes para configurar el Escritorio remoto de Chrome.
Para los fines de este instructivo, se usa el tipo de máquina e2-medium
. Si usas esto para tu propio entorno, te recomendamos cambiar el tipo de máquina, el nombre, la región, el tamaño del disco de arranque o alguna otra configuración.
En Cloud Shell, configura tu zona preferida:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Establece un PIN de 6 dígitos para realizar una autenticación adicional en Escritorio remoto de Chrome:
CRD_PIN=your-pin
Reemplaza your-pin por un número de 6 dígitos.
Establece un nombre para esta instancia de VM:
INSTANCE_NAME=crdhost
Crea la instancia:
gcloud compute instances create ${INSTANCE_NAME} \ --machine-type=e2-medium \ --scopes=cloud-platform \ --enable-display-device \ --image-family=windows-2022 \ --image-project=windows-cloud \ --boot-disk-size=50GB \ --boot-disk-device-name=${INSTANCE_NAME} \ --metadata=crd-pin=${CRD_PIN},crd-name=${INSTANCE_NAME} \ --metadata-from-file=crd-command=crd-auth-command.txt,sysprep-specialize-script-ps1=crd-sysprep-script.ps1
Este comando crea una máquina virtual de Windows Server 2022 en la VPC predeterminada que tiene un dispositivo de visualización conectado (obligatorio para Escritorio remoto de Chrome en las VMs de Windows) y un disco de arranque de 50 GB, y otorga a la instancia acceso completo a las APIs de Google Cloud.
Los valores de metadatos especifican la secuencia de comandos de specialize, la línea de comandos de inicio de Windows y los parámetros necesarios para iniciar el servicio de Escritorio remoto de Chrome.
Supervisa el inicio de la VM
Para comprobar que la secuencia de comandos de inicio sea exitosa, revisa los mensajes registrados en el puerto en serie de la VM mientras se está creando.
En Cloud Shell, muestra los mensajes registrados durante el inicio de la VM:
gcloud compute instances tail-serial-port-output ${INSTANCE_NAME}
Si la configuración del Escritorio remoto de Chrome se completa con éxito, verás las siguientes líneas de registro:
Found sysprep-specialize-script-ps1 in metadata. sysprep-specialize-script-ps1: Downloading Chrome Remote Desktop. sysprep-specialize-script-ps1: Installing Chrome Remote Desktop. sysprep-specialize-script-ps1: Downloading Chrome. sysprep-specialize-script-ps1: Installing Chrome. sysprep-specialize-script-ps1: Starting Chrome Remote Desktop service. Finished running specialize scripts.
Es posible que también veas la siguiente línea:
sysprep-specialize-script-ps1: ... Failed to read 'C:\ProgramData\Google\Chrome Remote Desktop\host_unprivileged.json'.: The system cannot find the path specified. (0x3)
Esto es normal y se puede ignorar.
Si el inicio del servicio de Escritorio remoto de Chrome falla, verás un mensaje de error que indica el problema, por ejemplo:
sysprep-specialize-script-ps1: Couldn't start host: OAuth error.
Este error indica que el token OAuth de la página de autenticación del Escritorio remoto de Chrome ya no es válido, ya sea porque ya se usó o porque venció.
Para corregir este error, conéctate a través de RDP y realiza una configuración interactiva como se describió antes, o borra la VM y vuelve a intentar el proceso de configuración.
Cuando veas el siguiente mensaje en el monitor de puertos en serie, la VM estará lista.
GCEInstanceSetup: ------------------------------------------------------------ GCEInstanceSetup: Instance setup finished. crdhost is ready to use. GCEInstanceSetup: ------------------------------------------------------------
Presiona Control + C para dejar de mostrar los mensajes de inicio.
Crea una cuenta de usuario de Windows
En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en el nombre de la instancia
crdhost
para abrir la página Detalles de instancia de VM.En Acceso remoto, haz clic en Configurar contraseña de Windows y, luego, en Configurar para crear una cuenta en la máquina remota.
Con este paso, generas una contraseña. Toma nota del nombre de usuario y la contraseña, o bien cópialo en un archivo temporal seguro.
Conéctate a la instancia de VM con el Escritorio remoto de Chrome
Puedes conectarte a la instancia de VM a través de la aplicación web del Escritorio remoto de Chrome.
En tu computadora local, ve al sitio web del Escritorio remoto de Chrome.
Haz clic en Access my computer.
Si aún no accediste a Google, accede con la misma Cuenta de Google que usaste para configurar el servicio de Escritorio remoto de Chrome.
Verás tu instancia de VM nueva en la lista de
crdhost
Remote Devices.Haz clic en el nombre de la instancia del escritorio remoto.
Cuando se te solicite, ingresa el PIN que creaste antes y, luego, haz clic en el botón de flecha arrow_forward para conectarte.
Ahora estás conectado a la pantalla de acceso de Windows en tu instancia remota de Compute Engine.
Si se te solicita, siempre permite que la aplicación de escritorio remoto lea tu portapapeles y te permita copiar y pegar entre aplicaciones locales y remotas.
Presiona cualquier clave y, luego, ingresa la contraseña del usuario de Windows que generaste antes. Ten en cuenta que el teclado remoto predeterminado tiene un diseño en inglés de EE.UU., por lo que es posible que los caracteres que ingreses no coincidan con los caracteres tu teclado. Tampoco puedes copiar y pegar la contraseña.
Ahora estás conectado y accediste al escritorio remoto de Windows.
Mejora la experiencia de escritorio remoto
En esta sección, se proporcionan instrucciones para cambiar la configuración para mejorar la experiencia de escritorio remoto.
Instala la app de Chrome de escritorio remoto
La app de Chrome de escritorio remoto brinda una experiencia de ventanas separadas y permite que las combinaciones de teclas que por lo general intercepta Chrome se usen en el sistema remoto.
Si esta app no está instalada, haz lo siguiente:
- Abre el panel Opciones de sesión con el botón chevron_left que aparece cuando mueves el mouse a un lado de la ventana.
- En la sección Instalar app, haz clic en Empezar.
- Haga clic en Install.
Se volverá a abrir la sesión de escritorio remoto en su propia ventana de aplicaciones.
Puedes mover cualquier sesión del escritorio remoto desde una pestaña de Chrome hacia la ventana de la app si haces clic en el ícono Abrir con open_in_new en la barra de la URL.
Mejora la resolución de pantalla
La resolución predeterminada del escritorio remoto se puede modificar para que se adapte mejor a la resolución de tu computadora local.
- Haz clic con el botón derecho en el fondo del escritorio remoto y selecciona Configuración de pantalla.
- En la lista desplegable Resolución, selecciona otra resolución de pantalla.
- Confirma la nueva resolución de pantalla en el cuadro de diálogo.
Vuelve a habilitar el servicio
Si inhabilitaste las conexiones a la instancia remota por error en la app cliente, puedes volver a configurar el servicio y volver a habilitarla. Para ello, sigue las instrucciones en Configuración del servicio de Escritorio remoto de Chrome.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
Para borrar el proyecto, sigue estos pasos:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra la instancia de Compute Engine
Como alternativa a la eliminación del proyecto completo, puedes borrar la instancia de VM que creaste para este instructivo:
En la consola de Google Cloud, ve a la página Instancias de VM.
Selecciona la casilla de verificación junto al nombre de la instancia que creaste antes (
crdhost
).Haz clic en el botón Borrar (Delete) en la parte superior de la página:
La eliminación de tu instancia toma unos minutos.
Desautoriza el Escritorio remoto de Chrome para la instancia
Si ya no deseas conectarte a la instancia de VM, puedes inhabilitarla y quitarla de la lista de Dispositivos remotos (Remote devices).
- En tu computadora local, ve al sitio web de la lista de dispositivos remotos del Escritorio remoto de Chrome.
- Haz clic en
crdhost
.
junto al nombre de la instancia - Haz clic en Aceptar para confirmar que se debe inhabilitar la conexión del dispositivo remoto.
¿Qué sigue?
- Obtén más información sobre cómo configurar el Escritorio remoto de Chrome en una máquina virtual de Linux.
- Obtén más información sobre otras opciones para crear de una estación de trabajo virtual.
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.