--- title: "Cómo instalar Google Cloud CLI (gcloud) en Ubuntu 24.04" description: "Instala Google Cloud CLI en Ubuntu 24.04 desde el repositorio oficial, inicia sesión sin navegador y usa Cloud Storage con una cuenta de servicio limitada." category: "Integración Cloud" language: es source: https://cubepath.com/es/docs/integración-cloud/instalacion-y-uso-de-google-cloud-sdk updated: 2026-09-25 --- # Cómo instalar Google Cloud CLI (gcloud) en Ubuntu 24.04 Google Cloud CLI (antes llamada Google Cloud SDK) incluye el comando `gcloud`, con el que se gestionan proyectos, máquinas de Compute Engine, buckets de Cloud Storage, permisos IAM y el resto de servicios de Google Cloud desde la terminal. En este tutorial instalarás la CLI en Ubuntu 24.04 desde el repositorio oficial de Google, te autenticarás desde un servidor sin navegador, gestionarás proyectos y configuraciones, y usarás Cloud Storage con una cuenta de servicio de permisos mínimos para automatizar tareas. ## Requisitos previos Para seguir esta guía necesitas: - Un servidor con Ubuntu 24.04 LTS, por ejemplo un VPS de CubePath. - Un usuario no root con privilegios `sudo`. - Una cuenta de Google Cloud con un proyecto creado y la facturación activada. Necesitarás el **ID del proyecto**, que se ve en la consola, y aquí se representa como `tu-proyecto-id`. ## Paso 1: Añadir el repositorio oficial de Google Cloud Instalar desde el repositorio de paquetes de Google permite actualizar la CLI con `apt` junto al resto del sistema. Instala primero las herramientas necesarias para descargar la clave del repositorio: ```bash sudo apt update sudo apt install -y ca-certificates curl gnupg ``` Descarga la clave de firma de Google Cloud y guárdala en `/etc/apt/keyrings`: ```bash sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/cloud.google.gpg ``` Añade el repositorio indicando que sus paquetes se validan con esa clave: ```bash echo "deb [signed-by=/etc/apt/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list ``` ## Paso 2: Instalar Google Cloud CLI Actualiza el índice de paquetes e instala `google-cloud-cli`: ```bash sudo apt update sudo apt install -y google-cloud-cli ``` Comprueba la versión instalada: ```bash gcloud version ``` ```output Google Cloud SDK 5xx.0.0 bq 2.x.x core 2026.xx.xx gcloud-crc32c 1.0.0 gsutil 5.xx ``` > Nota: Con la instalación por `apt`, el gestor de componentes de gcloud está desactivado: `gcloud components update` e `install` no funcionan. Las actualizaciones llegan con `sudo apt upgrade`, y los componentes adicionales se instalan como paquetes, por ejemplo `kubectl` o `google-cloud-cli-gke-gcloud-auth-plugin` para trabajar con GKE. ## Paso 3: Autenticarte desde un servidor sin navegador `gcloud auth login` abre un navegador para iniciar sesión con tu cuenta de Google. En un servidor remoto no hay navegador, así que usa la opción `--no-launch-browser`: ```bash gcloud auth login --no-launch-browser ``` El comando muestra una URL larga. Ábrela en el navegador de tu ordenador, inicia sesión con tu cuenta de Google, acepta los permisos y copia el código de verificación que aparece. Pégalo en la terminal del servidor: ```text Once finished, enter the verification code provided in your browser: 4/0Axxxxxxxxxxxxxxxx You are now logged in as [tu_correo@ejemplo.com]. ``` Comprueba la cuenta activa: ```bash gcloud auth list ``` ```output Credentialed Accounts ACTIVE ACCOUNT * tu_correo@ejemplo.com ``` ## Paso 4: Seleccionar el proyecto y la región por defecto Casi todos los comandos de gcloud actúan sobre un proyecto. Lista los proyectos a los que tienes acceso: ```bash gcloud projects list ``` ```output PROJECT_ID NAME PROJECT_NUMBER tu-proyecto-id Mi proyecto 123456789012 ``` Fija el proyecto, la región y la zona por defecto para no tener que repetirlos en cada comando. Sustituye `tu-proyecto-id` por el ID real y elige la región más cercana a tus usuarios: ```bash gcloud config set project tu-proyecto-id gcloud config set compute/region europe-west1 gcloud config set compute/zone europe-west1-b ``` Verifica la configuración activa: ```bash gcloud config list ``` ```output [compute] region = europe-west1 zone = europe-west1-b [core] account = tu_correo@ejemplo.com disable_usage_reporting = True project = tu-proyecto-id ``` ## Paso 5: Usar varias configuraciones Si trabajas con varios proyectos o cuentas, las **configuraciones** guardan juegos completos de ajustes (cuenta, proyecto, región) y permiten cambiar entre ellos con un solo comando. La que acabas de ajustar se llama `default`. Crea otra para un proyecto de pruebas; al crearla se activa automáticamente: ```bash gcloud config configurations create pruebas gcloud config set project tu-proyecto-pruebas-id gcloud config set account tu_correo@ejemplo.com ``` Lista las configuraciones y cambia entre ellas: ```bash gcloud config configurations list gcloud config configurations activate default ``` La columna `IS_ACTIVE` indica cuál está en uso. Para un solo comando puedes usar otra configuración sin activarla, con la opción global `--configuration=pruebas`. ## Paso 6: Trabajar con Cloud Storage `gcloud storage` es el comando actual para Cloud Storage y sustituye a `gsutil`, que Google mantiene solo por compatibilidad. Crea un bucket. Su nombre es global en todo Google Cloud, así que elige uno único, en minúsculas: ```bash gcloud storage buckets create gs://tu-bucket-backups --location=europe-west1 --uniform-bucket-level-access ``` La opción `--uniform-bucket-level-access` hace que los permisos se gestionen solo con IAM a nivel de bucket, sin ACL por objeto, que es la opción recomendada. Sube un archivo y lista el contenido del bucket: ```bash echo "prueba" > /tmp/prueba.txt gcloud storage cp /tmp/prueba.txt gs://tu-bucket-backups/ gcloud storage ls gs://tu-bucket-backups/ ``` ```output gs://tu-bucket-backups/prueba.txt ``` Para sincronizar un directorio completo, `gcloud storage rsync` copia solo los archivos nuevos o modificados: ```bash gcloud storage rsync /var/backups gs://tu-bucket-backups/servidor-web --recursive ``` Añade `--delete-unmatched-destination-objects` solo si quieres que los archivos borrados en el servidor se eliminen también del bucket. Para descargar un archivo, invierte el origen y el destino: ```bash gcloud storage cp gs://tu-bucket-backups/prueba.txt ./prueba-descargada.txt ``` ## Paso 7: Crear una cuenta de servicio para automatizar tareas Tu cuenta personal tiene normalmente muchos más permisos de los que necesita un script. Para tareas automáticas, como una copia nocturna, usa una **cuenta de servicio** con solo los permisos imprescindibles. Créala: ```bash gcloud iam service-accounts create backup-servidor --display-name="Copias del servidor web" ``` Dale permiso para gestionar objetos únicamente en el bucket de copias, no en todo el proyecto: ```bash gcloud storage buckets add-iam-policy-binding gs://tu-bucket-backups \ --member="serviceAccount:backup-servidor@tu-proyecto-id.iam.gserviceaccount.com" \ --role="roles/storage.objectAdmin" ``` Un servidor que no está en Google Cloud necesita una clave para autenticarse como esa cuenta. Genera la clave en un directorio protegido del usuario que ejecutará las tareas: ```bash mkdir -p ~/.config/gcloud-keys chmod 700 ~/.config/gcloud-keys gcloud iam service-accounts keys create ~/.config/gcloud-keys/backup-servidor.json \ --iam-account=backup-servidor@tu-proyecto-id.iam.gserviceaccount.com chmod 600 ~/.config/gcloud-keys/backup-servidor.json ``` > Advertencia: La clave JSON da acceso a todo lo que permite la cuenta de servicio y no caduca. No la subas a repositorios Git ni la copies a otros servidores. Si se expone, bórrala con `gcloud iam service-accounts keys delete`. Algunas organizaciones bloquean la creación de claves por política; en ese caso, la alternativa es Workload Identity Federation. Activa la cuenta de servicio en gcloud. Queda añadida como una cuenta más y pasa a ser la activa: ```bash gcloud auth activate-service-account --key-file="$HOME/.config/gcloud-keys/backup-servidor.json" gcloud auth list ``` ```output Credentialed Accounts ACTIVE ACCOUNT * backup-servidor@tu-proyecto-id.iam.gserviceaccount.com tu_correo@ejemplo.com ``` Comprueba que los permisos son los esperados: la cuenta puede escribir en el bucket de copias, pero no listar las máquinas del proyecto: ```bash gcloud storage cp /tmp/prueba.txt gs://tu-bucket-backups/prueba-sa.txt gcloud compute instances list ``` El primer comando funciona y el segundo termina con un error de permisos, que es justo lo que buscas. Para volver a tu cuenta personal, ejecuta `gcloud config set account tu_correo@ejemplo.com`. Las bibliotecas cliente de Google y herramientas como Terraform no usan las credenciales de gcloud, sino las **Application Default Credentials**. Para que usen esta misma cuenta de servicio, apunta la variable de entorno a la clave: ```bash export GOOGLE_APPLICATION_CREDENTIALS="$HOME/.config/gcloud-keys/backup-servidor.json" ``` ## Paso 8: Comandos básicos de Compute Engine Con tu cuenta personal activa y la API de Compute Engine habilitada en el proyecto, estos son los comandos que usarás a diario. Crea una máquina pequeña con Ubuntu 24.04: ```bash gcloud compute instances create mi-servidor \ --machine-type=e2-small \ --image-family=ubuntu-2404-lts-amd64 \ --image-project=ubuntu-os-cloud \ --boot-disk-size=20GB ``` La zona se toma de la configuración del paso 4. Lista las instancias y conéctate por SSH; gcloud genera y propaga la clave SSH automáticamente la primera vez: ```bash gcloud compute instances list gcloud compute ssh mi-servidor ``` Detén la máquina cuando no la uses, o elimínala para dejar de pagar por ella y por su disco: ```bash gcloud compute instances stop mi-servidor gcloud compute instances delete mi-servidor ``` ## Solución de problemas **`ERROR: (gcloud.auth.login) There was a problem with web authentication`.** Estás usando `gcloud auth login` sin `--no-launch-browser` en un servidor sin entorno gráfico. Repite el comando con esa opción. **`PERMISSION_DENIED` o `does not have storage.objects.create access`.** La cuenta activa no tiene el rol necesario. Comprueba qué cuenta está activa con `gcloud auth list` y revisa los permisos del bucket con `gcloud storage buckets get-iam-policy gs://tu-bucket-backups`. **`API [compute.googleapis.com] not enabled on project`.** La API del servicio no está habilitada. Actívala con `gcloud services enable compute.googleapis.com`, o acepta la pregunta que muestra gcloud. **`You cannot perform this action because the component manager is disabled`.** Aparece al ejecutar `gcloud components` en una instalación por `apt`. Actualiza con `sudo apt update && sudo apt upgrade` e instala componentes como paquetes. ## Conclusión Has instalado Google Cloud CLI en Ubuntu 24.04 desde el repositorio oficial, te has autenticado sin navegador, has organizado proyectos con configuraciones y has usado Cloud Storage con una cuenta de servicio limitada a un bucket. Como siguientes pasos puedes programar el `gcloud storage rsync` con un temporizador de systemd, añadir una política de ciclo de vida al bucket para borrar copias antiguas, o instalar `kubectl` y el plugin de autenticación de GKE para gestionar clústeres de Kubernetes desde el mismo servidor.