En este tutorial se explica cómo configurar el servicio Escritorio Remoto de Chrome en una instancia de máquina virtual (VM) de Microsoft Windows en Compute Engine. Para obtener instrucciones específicas sobre las máquinas virtuales Linux, consulta Máquinas virtuales Linux. Escritorio Remoto de Chrome te permite acceder de forma remota a aplicaciones con una interfaz gráfica de usuario desde un ordenador o dispositivo móvil local.
Cuando sigas este tutorial, las reglas de cortafuegos predeterminadas permitirán las conexiones de Escritorio remoto de Chrome, por lo que no tendrás que configurar ninguna regla de cortafuegos 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 la autorización.
Se describen dos métodos para configurar Escritorio Remoto de Chrome:
Un método interactivo que usa el protocolo de escritorio remoto (RDP) de Windows.
Este método requiere que se pueda acceder directamente a la VM desde tu máquina local mediante un cliente RDP, lo que puede que no sea posible en todas las situaciones.
Un método no interactivo que usa un script de inicio para instalar y configurar Escritorio Remoto de Chrome mientras se crea la VM.
Este método se debe usar si tienes cortafuegos que impiden el acceso directo a la VM o si no tienes acceso a un cliente RDP (por ejemplo, en ChromeOS).
En este tutorial se da por hecho que conoces Microsoft Windows y la línea de comandos de PowerShell.
Para obtener información sobre otras opciones para crear estaciones de trabajo virtuales, consulta el artículo Crear una estación de trabajo virtual.
Instalación interactiva mediante RDP
Para instalar Escritorio Remoto de Chrome de forma interactiva, debes poder conectarte a la VM remota mediante un cliente RDP. En este tutorial, crearás la VM en la VPC predeterminada con reglas de cortafuegos predeterminadas, lo que expone el puerto RDP 3339 a Internet.
Si no es posible en tu entorno, usa el método no interactivo que se describe más adelante en este documento.
Crear una instancia de Compute Engine
En este tutorial, se utiliza el tipo de máquina predeterminado. Si vas a usarlo en tu propio entorno, puedes ajustar el tipo de máquina, el nombre, la región, el tamaño del disco de arranque u otros ajustes.
Consola
- En la Google Cloud consola, ve a la página Instancias de VM:
Haz clic en Crear.
Asigna el nombre
crdhost
a la instancia.Marca la casilla Habilitar dispositivo de visualización, ya que Escritorio Remoto de Chrome requiere un dispositivo de visualización en las máquinas virtuales 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.
Selecciona la zona que prefieras:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Crea una instancia de Compute Engine con la imagen de aplicación de 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 conectado (necesario para Escritorio remoto de Chrome en máquinas virtuales de Windows) y un disco de arranque de 50 GB, y concede a la instancia acceso completo a las APIs deGoogle Cloud .
Ignora la advertencia de rendimiento del disco, ya que no necesitas un rendimiento alto para este tutorial.
Conectarse a la instancia de VM mediante RDP
En la consola de Google Cloud , ve a la página Instancias de VM.
Asegúrate de que se muestre una marca de verificación verde check junto al nombre de tu instancia de
crdhost
, lo que indica que la instancia está lista.Haz clic en el nombre de la instancia
crdhost
para abrir la página Detalles de la instancia de VM.En Acceso remoto, haz clic en Definir contraseña de Windows y, a continuación, en Definir para crear tu cuenta en el ordenador remoto.
En este paso se genera una contraseña. Anota 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, a continuación, selecciona Descargar el archivo RDP. Puedes abrir el archivo RDP con el cliente RDP que prefieras.
Cuando tu cliente RDP te pida una contraseña, introduce la que has generado antes.
Cuando se te pregunte si quieres que otros ordenadores y dispositivos de la red puedan detectar tu ordenador, haz clic en No.
Cierra el panel de control del Administrador del servidor si está abierto.
Instalar el servicio Escritorio Remoto de Chrome
El siguiente paso es instalar Google Chrome y el servicio Escritorio Remoto de Chrome en la instancia de VM.
En tu sesión de RDP, haz clic en Inicio en la barra de tareas de Windows, escribe
PowerShell
y selecciona la aplicación Windows PowerShell.En el símbolo del sistema de PowerShell, descarga y ejecuta el programa de instalación 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 pida, confirma que quieres que el instalador haga los cambios.
Configurar el servicio Escritorio Remoto de Chrome
Ahora, genera un comando de Windows que inicia el servicio Escritorio Remoto de Chrome y lo vincula a tu cuenta de Google.
En tu ordenador local, usa el navegador Chrome para ir a la página de configuración de la línea de comandos de Escritorio Remoto de Chrome.
Si aún no lo has hecho, inicia sesión con una cuenta de Google. Esta es la cuenta que se usará para autorizar el acceso remoto.
En la página Configurar otro ordenador, haz clic en Empezar y, a continuación, en Siguiente.
Haz clic en Autorizar.
Debes permitir que Escritorio Remoto de Chrome acceda a tu cuenta. Si aceptas, en la página se mostrarán varias líneas de comandos, una de ellas para Windows (Powershell), que tendrá un aspecto similar al siguiente:
& "${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 la sesión de RDP, en el símbolo del sistema de PowerShell, pega la línea de comandos que acabas de copiar y pulsa Intro.
Cuando se te pida, confirma que quieres que la aplicación haga cambios.
Cuando se te solicite, introduce un PIN de 6 dígitos. Este número se usará para autorizarte cuando te conectes más adelante.
Una vez que se haya completado el comando, se habrá iniciado el servicio de escritorio remoto.
Cierra la ventana de PowerShell.
Cierra la sesión RDP.
Ahora puedes conectarte a la VM mediante Escritorio Remoto de Chrome.
Instalación no interactiva
Con este método, se configura la instancia de VM para que tenga un script de inicio que se ejecute cuando se cree la VM.
Con este método, no es necesario que se pueda acceder a la máquina virtual directamente desde Internet, aunque sí necesita tener acceso a Internet.
Autorizar el servicio Escritorio Remoto de Chrome
Ahora, genera un comando de Windows que usarás más adelante en la secuencia de comandos de especialización. Como parte de este procedimiento, proporcionas información de autorización que se incluye en el comando.
En tu ordenador local, usa el navegador Chrome para ir a la página de configuración de la línea de comandos de Escritorio Remoto de Chrome.
Si aún no lo has hecho, inicia sesión con una cuenta de Google. Esta es la cuenta que se usará para autorizar el acceso remoto.
Haz clic en Empezar y, a continuación, en Siguiente.
Haz clic en Autorizar.
Permite que Escritorio Remoto de Chrome acceda a tu cuenta.
Ahora, la página contiene varias líneas de comandos, una de ellas para Windows (Cmd), que tiene el siguiente aspecto:
"%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 y de corta duración.El código de autorización de la línea de comandos solo es válido durante unos minutos y solo se puede usar 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.
Crea un archivo para el comando de inicio:
cat > crd-auth-command.txt
Ve a la página que tiene el comando de inicio de Escritorio Remoto de Chrome y copia la línea de comandos de Windows (Cmd).
En Cloud Shell, pega el comando para añadirlo al archivo.
Pulsa Intro para terminar la línea y, a continuación, pulsa Control + D para cerrar el archivo.
Crear 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. Realiza las siguientes acciones:
- Descarga e instala el servicio de host de Escritorio Remoto de Chrome.
- Recupera los siguientes parámetros de metadatos:
crd-command
: el comando de autenticación e inicio de Windows.crd-pin
: el PIN de 6 dígitos que se usa para la autenticación adicional.crd-name
: el nombre de esta instancia.
- Configura e inicia el servicio de host de Escritorio Remoto de Chrome.
- Descarga e instala el navegador Chrome.
Crear una máquina virtual de Windows
Ahora, crea una máquina virtual de Windows con los archivos que has creado anteriormente para configurar Escritorio Remoto de Chrome.
En este tutorial, se usa el tipo de máquina e2-medium
. Si vas a usarlo en tu propio entorno, puedes ajustar el tipo de máquina, el nombre, la región, el tamaño del disco de arranque u otros ajustes.
En Cloud Shell, define la zona que prefieras:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Establece un PIN de 6 dígitos para añadir una capa de autenticación a Escritorio Remoto de Chrome:
CRD_PIN=your-pin
Sustituye your-pin por un número de 6 dígitos.
Asigna un nombre a 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 (necesario para Escritorio remoto de Chrome en VMs de Windows), un disco de arranque de 50 GB y concede a la instancia acceso completo a las APIs de Google Cloud .
Los valores de metadatos especifican la secuencia de comandos de especialización, la línea de comandos de inicio de Windows y los parámetros necesarios para iniciar el servicio Escritorio remoto de Chrome.
Monitorizar el inicio de la VM
Para comprobar que la secuencia de comandos de inicio se ha ejecutado correctamente, consulta los mensajes registrados en el puerto serie de la VM mientras se crea.
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 de Escritorio Remoto de Chrome se realiza correctamente, 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.
También puede que 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)
Es algo normal y puedes ignorarlo.
Si no se puede iniciar el servicio Escritorio Remoto de Chrome, 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 de OAuth de la página de autenticación de Escritorio Remoto de Chrome ya no es válido, ya sea porque ya se ha usado o porque ha caducado.
Para corregir este error, conéctate mediante RDP y realiza una configuración interactiva como se ha descrito anteriormente, o bien elimina la VM y vuelve a intentar el proceso de configuración.
Cuando veas el siguiente mensaje en el monitor del puerto serie, la VM estará lista.
GCEInstanceSetup: ------------------------------------------------------------ GCEInstanceSetup: Instance setup finished. crdhost is ready to use. GCEInstanceSetup: ------------------------------------------------------------
Pulsa Control-C para dejar de mostrar los mensajes de inicio.
Crear 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 la instancia de VM.En Acceso remoto, haz clic en Definir contraseña de Windows y, a continuación, en Definir para crear tu cuenta en el ordenador remoto.
En este paso se genera una contraseña. Anota el nombre de usuario y la contraseña, o cópialos en un archivo temporal seguro.
Conectarse a la instancia de VM con Escritorio Remoto de Chrome
Puedes conectarte a la instancia de VM mediante la aplicación web Escritorio Remoto de Chrome.
En tu ordenador local, ve al sitio web de Escritorio Remoto de Chrome.
Haz clic en Acceder a mi ordenador.
Si aún no has iniciado sesión en Google, hazlo con la misma cuenta de Google que usaste para configurar el servicio Escritorio Remoto de Chrome.
Verás tu nueva instancia de VM
crdhost
en la lista Dispositivos remotos.Haz clic en el nombre de la instancia de escritorio remoto.
Cuando se te pida, introduce el PIN que has creado antes y, a continuación, haz clic en el botón de la flecha arrow_forward para conectarte.
Ahora estás conectado a la pantalla de inicio de sesión de Windows de tu instancia de Compute Engine remota.
Si se te solicita, permite siempre que la aplicación Escritorio remoto lea tu portapapeles y te permita copiar y pegar contenido entre aplicaciones locales y remotas.
Pulsa cualquier tecla e introduce la contraseña del usuario de Windows que hayas generado anteriormente. Ten en cuenta que el teclado remoto predeterminado tiene una distribución en inglés de EE. UU., por lo que es posible que los caracteres introducidos no coincidan con los de tu teclado local. Tampoco puedes copiar y pegar la contraseña.
Ahora estás conectado y has iniciado sesión en el escritorio remoto de Windows.
Mejorar la experiencia de escritorio remoto
En esta sección se proporcionan instrucciones para cambiar la configuración y mejorar la experiencia de escritorio remoto.
Instalar la aplicación Escritorio Remoto de Chrome
La aplicación Escritorio Remoto de Chrome ofrece una experiencia en ventanas independiente y permite usar en el sistema remoto combinaciones de teclas que normalmente interceptaría Chrome.
Si esta aplicación no está instalada, haz lo siguiente:
- Abre el panel Opciones de sesión con el botón chevron_left que aparece cuando mueves el ratón hacia el lateral de la ventana.
- En la sección Instalar aplicación, haz clic en Empezar.
- Haz clic en Instalar.
La sesión de escritorio remoto se vuelve a abrir en su propia ventana de aplicación.
Puedes mover cualquier sesión de escritorio remoto de una pestaña de Chrome a la ventana de la aplicación haciendo clic en el icono Abrir con open_in_new de la barra de direcciones.
Mejorar la resolución de pantalla
La resolución predeterminada del escritorio remoto se puede modificar para que se adapte mejor a la resolución del escritorio de tu ordenador 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.
Volver a habilitar el servicio
Si has inhabilitado por error las conexiones a la instancia remota en la aplicación cliente, puedes volver a configurar el servicio y volver a habilitarlo siguiendo las instrucciones de Configurar el servicio Escritorio Remoto de Chrome.