En este documento, se describe cómo agregar claves SSH a instancias de máquina virtual (VM) que usan el Acceso al SO y VMs que usan claves SSH basadas en metadatos. Si tú o tu administrador de la organización no han habilitado el Acceso al SO, las VM usarán claves SSH basadas en metadatos.
Antes de comenzar
- Para obtener información sobre cómo administrar el acceso a tus VM de Compute Engine, consulta Elige un método de acceso.
- Si aún no lo hiciste, crea un par de claves SSH.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para agregar una clave SSH pública a tu cuenta, usa el comando
gcloud compute os-login ssh-keys add
:gcloud compute os-login ssh-keys add \ --key-file=KEY_FILE_PATH \ --project=PROJECT \ --ttl=EXPIRE_TIME
Reemplaza lo siguiente:
KEY_FILE_PATH
: Es la ruta a la clave SSH pública en la estación de trabajo local. La clave debe usar el formatopublic-openssh
PROJECT
: Es un proyecto en el que deseas usar tu clave SSH (opcional). Especifica este campo para usar tu clave SSH en un proyecto fuera de la organización o si no eres miembro de una organización de Cloud Identity.EXPIRE_TIME
: Es la hora de vencimiento de la clave SSH (opcional).Por ejemplo, si especificas
30m
, la clave SSH vence después de 30 minutos.En esta marca, se usan las siguientes unidades:
s
para los segundosm
para los minutosh
para las horasd
para los días
ACCOUNT_EMAIL
: Es la dirección de correo electrónico asociada a tu cuenta.SSH_KEY
: La clave pública que deseas agregar a la cuentaEXPIRATION_TIMESTAMP
: La hora de vencimiento de la clave, en microsegundos y desde el ciclo de entrenamiento (1 segundo = 106 microsegundos)En la consola de Google Cloud, ve a la página Metadatos.
Haz clic en la pestaña Claves SSH.
Haz clic en Editar.
Haz clic en Agregar elemento.
En el campo Clave SSH que se abre, agrega tu clave SSH pública. La clave debe tener uno de los siguientes formatos:
- Formato para una clave sin una hora de vencimiento:
KEY_VALUE USERNAME
- Formato para una clave con una hora de vencimiento:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs de Linux como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
Haz clic en Guardar.
Si hay claves SSH existentes en los metadatos del proyecto, debes volver a agregarlas a los metadatos del proyecto cada vez que agregues una clave SSH nueva mediante la CLI de gcloud. Si no vuelves a agregar tus claves actuales, agregar una nueva borrará las existentes.
Para agregar una clave SSH pública a los metadatos del proyecto con la CLI de gcloud, haz lo siguiente:
Si tu proyecto ya tiene claves SSH públicas de nivel de proyecto, obtén esos metadatos y agrégalos a un archivo nuevo:
Ejecuta el comando
gcloud compute project-info describe
a fin de obtener las claves SSH para el proyecto:gcloud compute project-info describe \ --format="value(commonInstanceMetadata[items][ssh-keys])"
El resultado es similar a este:
username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...
Copia el valor de metadatos
ssh-keys
.Crea y abre un nuevo archivo de texto en tu estación de trabajo.
En el archivo, pega la lista de las claves que acabas de copiar.
Agrega la clave nueva al final de la lista en uno de los siguientes formatos:
- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
Guarde y cierre el archivo.
Ejecuta el comando
gcloud compute project-info add-metadata
a fin de configurar el valorssh-keys
de todo el proyecto:gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Reemplaza
KEY_FILE
por uno de los siguientes valores:- La ruta de acceso al archivo que creaste en el paso anterior, si el proyecto tenía claves SSH existentes
- La ruta de acceso a tu nuevo archivo de claves SSH públicas, si el proyecto no tenía claves SSH existentes
Obtén los valores
fingerprint
yssh-keys
de los metadatos a través del métodoprojects.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Reemplaza
PROJECT_ID
con el ID del proyecto.La respuesta es similar al ejemplo a continuación:
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...
Agrega el valor
ssh-keys
nuevo con el métodoprojects.setCommonInstanceMetadata
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY" } ] "fingerprint": "FINGERPRINT" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoEXISTING_SSH_KEYS
: Es el valor de la clavessh-keys
de la respuesta de la solicitudprojects.get
.FINGERPRINT
: Es el valor defingerprint
de la respuesta de la solicitudprojects.get
.NEW_SSH_KEY
: Es la nueva clave SSH, en uno de los siguientes formatos:- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
En la consola de Google Cloud, ve a la página Crea una instancia.
Especifica los detalles de la VM.
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Seguridad.
Selecciona Agregar claves SSH generadas manualmente.
Haz clic en Agregar elemento.
Agrega tu clave pública en el cuadro de texto. La clave debe tener uno de los siguientes formatos:
- Formato para una clave sin una hora de vencimiento:
KEY_VALUE USERNAME
- Formato para una clave con una hora de vencimiento:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs de Linux como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
Para crear y, también, iniciar la VM, haz clic en Crear.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para crear una VM y agregar una clave SSH pública a los metadatos de la instancia al mismo tiempo mediante la CLI de gcloud, usa el
gcloud compute instances create
comando :gcloud compute instances create VM_NAME \ --metadata=ssh-keys=PUBLIC_KEY
Reemplaza lo siguiente:
VM_NAME
: es el nombre de la VM nueva.PUBLIC_KEY
: Es tu clave SSH pública, en uno de los siguientes formatos:- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
Puedes agregar varias claves SSH mediante la marca
--metadata-from-file=ssh-keys=FILE_PATH
. En el archivo, agrega una lista de nombres de usuario y claves SSH públicas en uno de los formatos anteriores.PROJECT_ID
: El ID del proyectoZONE
: La zona de la VM- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
En la consola de Google Cloud, ve a la página Instancias de VM.
Haz clic en el nombre de la VM para la que quieres agregar una clave SSH.
Haz clic en Editar.
En Llaves SSH, haz clic en Agregar elemento.
Agrega tu clave pública al cuadro de texto. La clave debe tener uno de los siguientes formatos:
- Formato para una clave sin una hora de vencimiento:
KEY_VALUE USERNAME
- Formato para una clave con una hora de vencimiento:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo,cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a VMs de Linux como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
Haz clic en Guardar.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Si hay claves SSH existentes en los metadatos de la instancia, debes volver a agregarlas a los metadatos de la instancia cada vez que agregues una llave SSH nueva con la CLI de gcloud. Si no vuelves a agregar tus claves actuales, agregar una nueva borrará las existentes.
Para agregar una clave SSH pública a los metadatos de la instancia mediante la CLI de gcloud, haz lo siguiente:
Si tu VM ya tiene claves SSH públicas de nivel de instancia, obtén esas claves de los metadatos y agrégalas a un archivo nuevo:
Ejecuta el comando
gcloud compute instances describe
a fin de obtener los metadatos para la VM:gcloud compute instances describe VM_NAME
Reemplaza VM_NAME por el nombre de la VM para la que necesitas agregar o quitar las claves SSH públicas.
El resultado es similar a este:
... metadata: ...
- key: ssh-keys
value: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copia el valor de metadatos
ssh-keys
.Crea y abre un nuevo archivo de texto en tu estación de trabajo.
En el archivo, pega la lista de las claves que acabas de copiar.
Agrega la clave nueva al final de la lista en uno de los siguientes formatos:
- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Guarde y cierre el archivo.
Ejecuta el comando
gcloud compute instances add-metadata
para configurar el valorssh-keys
:gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Reemplaza lo siguiente:
VM_NAME
: Es la VM a la que deseas agregar la clave SSHKEY_FILE
por uno de los siguientes valores:- La ruta al archivo que creaste en el paso anterior, si la VM tenía claves SSH existentes
- La ruta a tu nuevo archivo de claves SSH públicas, si la VM no tenía claves SSH existentes
Obtén los valores
fingerprint
yssh-keys
de los metadatos mediante el métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoZONE
: Es la zona de la VM para agregar una clave SSH.VM_NAME
: Es la VM para la que agregarás una clave SSH.
La respuesta es similar al ejemplo a continuación:
... "fingerprint": "utgYE_XWtE8=", "items": [ { "key": "ssh-keys", "value": "cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF...\nbaklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"}" } ] ...
Agrega el valor
ssh-keys
nuevo con el métodoinstances.setMetadata
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS\nNEW_SSH_KEY" } ] "fingerprint": "FINGERPRINT" }
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoEXISTING_SSH_KEYS
: Es el valor de la clavessh-keys
de la respuesta de la solicitudinstances.get
.FINGERPRINT
: lafingerprint
de la respuesta de la solicitudprojects.get
NEW_SSH_KEY
: Es la nueva clave SSH, en uno de los siguientes formatos:- Formato para una clave sin una hora de vencimiento:
USERNAME:KEY_VALUE
- Formato para una clave con una hora de vencimiento:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Reemplaza lo siguiente:
KEY_VALUE
: El valor de la clave SSH públicaUSERNAME
: tu nombre de usuario. Por ejemplo:cloudysanfrancisco
ocloudysanfrancisco_gmail_com
.Para las VM de Linux,
USERNAME
no puede serroot
, a menos que configures tu VM para permitir el acceso raíz. Para obtener más información, consulta Conéctate a instancias como usuario raíz.Para las VM de Windows que usan Active Directory (AD), el nombre de usuario debe estar agregado al dominio de AD, en el formato
DOMAIN\
. Por ejemplo, el usuariocloudysanfrancisco
dentro del ADad.example.com
tiene unUSERNAME
deexample\cloudysanfrancisco
.EXPIRE_TIME
: La hora en que vence la clave, en formato ISO 8601. Por ejemplo:2021-12-04T20:12:00+0000
- Formato para una clave sin una hora de vencimiento:
- Obtén información para Conectarte a VMs.
- Obtén más información sobre cómo administrar el acceso a las VMs.
- Obtén más información sobre cómo transferir archivos a las VMs.
- Obtén información sobre cómo funcionan las conexiones SSH a las VMs de Linux en Compute Engine.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Agrega claves a las VMs que usan el Acceso al SO
Las VM que usan el Acceso al SO aceptan claves SSH asociadas con tu Cuenta de Google. Puedes asociar una clave SSH pública con tu Cuenta de Google mediante la CLI de gcloud o la API de Acceso al SO. Si eres administrador de tu organización, puedes agregar claves SSH a las cuentas de usuario mediante la API de Directory.
Cuando agregas claves SSH a tu Cuenta de Google, Compute Engine genera un nombre de usuario para ti mediante la combinación del nombre de usuario y el dominio del correo electrónico asociado con tu Cuenta de Google. Por ejemplo, si tu dirección de correo electrónico es
cloudysanfrancisco@gmail.com
, tu nombre de usuario escloudysanfrancisco_gmail_com
. Si agregas una clave SSH a un proyecto que está fuera de la organización, el nombre de usuario tiene el prefijoext_
, por ejemplo,ext_cloudysanfrancisco_gmail_com
. El administrador de tu organización puede personalizar tu nombre de usuario con la API de Directory. Si ya tienes un nombre de usuario configurado, Compute Engine lo usa cuando agregas claves SSH.gcloud
Terraform
Para agregar una clave SSH pública a tu cuenta, usa el recurso
google_client_openid_userinfo
junto con el recursogoogle_os_login_ssh_public_key
.REST
Para agregar una clave SSH pública a tu cuenta, usa el método
users.importSshPublicKey
de la API de Acceso al SO:POST https://oslogin.googleapis.com/v1/users/ACCOUNT_EMAIL:importSshPublicKey { "key": "SSH_KEY", "expirationTimeUsec": "EXPIRATION_TIMESTAMP" }
Reemplaza lo siguiente:
Agrega claves SSH a las VM que usan claves SSH basadas en metadatos
Las VMs que no usan el Acceso al SOalmacenan claves SSH en los metadatos de proyecto y de instancia de Compute Engine. Si el Acceso al SO está habilitado para una VM, el agente de invitado de la VM ignora las claves almacenadas en los metadatos.
Puedes usar claves SSH almacenadas en metadatos del proyecto para acceder a todas las VMs de un proyecto. Puedes usar claves SSH almacenadas en metadatos de la instancia para acceder a VMs individuales.
Compute Engine no quita automáticamente las claves SSH vencidas de los metadatos en el momento del vencimiento, pero no se pueden usar para establecer conexiones nuevas a las VMs. Si deseas quitar las claves vencidas de los metadatos, consulta Quita las claves SSH de las VMs que usan claves basadas en metadatos.
Puedes agregar una clave SSH pública a metadatos del proyecto o a la instancia de VM con la consola de Google Cloud, gcloud CLI o REST.
Agrega claves SSH a los metadatos del proyecto
Puedes agregar una clave SSH pública a metadatos de proyectos para acceder a todas las VM en un proyecto, excepto las VM que bloquean las claves SSH de nivel de proyecto. Para obtener más información sobre el bloqueo de claves SSH de nivel de proyecto, consulta Bloquea claves SSH de VM que usan claves SSH basadas en metadatos.
Console
Para agregar una clave SSH pública a los metadatos del proyecto con la consola de Google Cloud, haz lo siguiente:
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Terraform
Para agregar una clave SSH pública a los metadatos del proyecto, usa el recurso
google_compute_project_metadata
.REST
Si hay claves SSH existentes en los metadatos del proyecto, debes volver a agregarlas a los metadatos del proyecto cada vez que agregues una clave SSH nueva mediante la API de Compute Engine. Si no vuelves a agregar tus claves actuales, agregar una nueva borrará las existentes.
Para agregar una clave SSH pública a los metadatos del proyecto con la API de Compute Engine, haz lo siguiente:
Agrega claves SSH a los metadatos de la instancia
Puedes agregar una clave SSH pública a los metadatos de la instancia cuando creas una VM o después de crear una VM.
Agrega claves SSH a los metadatos de la instancia durante la creación de la VM
Puedes agregar claves SSH a los metadatos de la instancia durante la creación de la VM mediante la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine.
Console
Para crear una VM y agregar una clave SSH pública a los metadatos de la instancia al mismo tiempo mediante la consola de Google Cloud, sigue estos pasos:
gcloud
Terraform
Para agregar una clave SSH pública a los metadatos de la instancia, usa el recurso
google_compute_instance
.REST
Para crear una VM y agregar una clave SSH pública a los metadatos de la instancia al mismo tiempo mediante Compute Engine, crea una solicitud
POST
para el métodoinstances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Reemplaza lo siguiente:
En el cuerpo de la solicitud, proporciona los nombres de usuario y las claves SSH públicas en la propiedad
items
:... { "items": [ { "key": "ssh-keys", "value": "PUBLIC_KEY" } ] } ...
Reemplaza
PUBLIC_KEY
por tu clave pública, en uno de los siguientes formatos:Reemplaza lo siguiente:
Para agregar varias claves SSH, agrega
\n
entre las claves.Agrega claves SSH a los metadatos de la instancia después de crearla
Puedes agregar claves SSH a los metadatos de la instancia después de crear la VM con la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine.
Console
Para agregar una clave SSH pública a los metadatos de la instancia mediante la consola de Google Cloud, haz lo siguiente:
gcloud
REST
Si hay claves SSH existentes en los metadatos de la instancia, debes volver a agregarlas a los metadatos de la instancia cada vez que agregues una nueva clave SSH mediante la API de Compute Engine. Si no vuelves a agregar tus claves actuales, agregar una nueva borrará las existentes.
Para agregar una clave SSH pública a los metadatos de la instancia con la API de Compute Engine, haz lo siguiente:
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-