Este documento descreve como adicionar chaves SSH a instâncias de máquinas virtuais (VM) que usam login do sistema operacional e VMs que usam chaves SSH baseadas em metadados . Se você ou o administrador da sua organização não ativarem o Login do SO, os seus VMs utilizam chaves SSH baseadas em metadados.
Antes de começar
- Para obter informações sobre como gerenciar o acesso às VMs do Compute Engine, consulte Escolher um método de acesso .
- Se ainda não o fez, crie um par de chaves SSH .
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
-
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 adicionar uma chave SSH pública à sua conta, use o 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
Substitua o seguinte:
-
KEY_FILE_PATH
: o caminho para a chave SSH pública em sua estação de trabalho. A chave deve usar o formatopublic-openssh
-
PROJECT
: Opcional: um projeto onde você pretende usar sua chave SSH. Especifique este campo para usar sua chave SSH em um projeto fora da sua organização ou se você não for membro de uma organização do Cloud Identity EXPIRE_TIME
: Opcional: o tempo de expiração da chave SSHPor exemplo, se você especificar
30m
, a chave SSH expirará após 30 minutos.Este sinalizador usa as seguintes unidades:
-
s
por segundos -
m
por minutos -
h
por horas -
d
por dias
-
-
-
ACCOUNT_EMAIL
: o endereço de e-mail associado à sua conta -
SSH_KEY
: a chave pública que você deseja adicionar à conta -
EXPIRATION_TIMESTAMP
: o tempo de expiração da chave, em microssegundos desde a época (1 segundo = 10 6 microssegundos) No console do Google Cloud, acesse a página Metadados .
Clique na guia Chaves SSH .
Clique em Editar .
Clique em Adicionar item .
No campo Chave SSH que é aberto, adicione sua chave SSH pública. A chave deve estar em um dos seguintes formatos:
- Formato para uma chave sem prazo de validade:
KEY_VALUE USERNAME
- Formato para uma chave com prazo de validade:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectar-se a VMs Linux como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
Clique em Salvar .
Se houver chaves SSH existentes nos metadados do projeto, você deverá adicioná-las novamente aos metadados do projeto sempre que adicionar uma nova chave SSH usando a CLI gcloud. Se você não adicionar novamente as chaves existentes, adicionar uma nova chave apagará as chaves existentes.
Para adicionar uma chave SSH pública aos metadados do projeto usando a CLI gcloud, faça o seguinte:
Se o seu projeto já tiver chaves SSH públicas para todo o projeto, obtenha-as dos metadados e adicione-as a um novo arquivo:
Execute o comando
gcloud compute project-info describe
para obter as chaves SSH do projeto:gcloud compute project-info describe \ --format="value(commonInstanceMetadata[items][ssh-keys])"
A saída é semelhante à seguinte:
username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... username:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ...
Copie o valor dos metadados
ssh-keys
.Crie e abra um novo arquivo de texto em sua estação de trabalho.
No arquivo, cole a lista de chaves que você acabou de copiar.
Adicione sua nova chave no final da lista, em um dos seguintes formatos:
- Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
Salve e feche o arquivo.
Execute o comando
gcloud compute project-info add-metadata
para definir o valor dessh-keys
para todo o projeto:gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Substitua
KEY_FILE
por um dos seguintes:- O caminho para o arquivo criado na etapa anterior, se o projeto tivesse chaves SSH existentes
- O caminho para seu novo arquivo de chave SSH pública, se o projeto não tiver chaves SSH existentes
Obtenha os valores de
fingerprint
essh-keys
dos metadados usando o métodoprojects.get
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Substitua
PROJECT_ID
pelo ID do seu projeto.A resposta é semelhante à seguinte:
... "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"}" } ] ...
Adicione o novo valor
ssh-keys
usando o 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" }
Substitua o seguinte:
-
PROJECT_ID
: o ID do seu projeto -
EXISTING_SSH_KEYS
: o valor da chavessh-keys
da resposta da solicitaçãoprojects.get
-
FINGERPRINT
: o valor dafingerprint
da resposta da solicitaçãoprojects.get
NEW_SSH_KEY
: a nova chave SSH, em um dos seguintes formatos:- Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
-
No console do Google Cloud, acesse a página Criar uma instância .
Para adicionar uma chave SSH pública aos metadados da instância, faça o seguinte:
No menu de navegação, clique em Segurança .
Expanda a seção Gerenciar acesso .
Para desabilitar o login do sistema operacional, desmarque a caixa de seleção Controlar o acesso à VM por meio de permissões do IAM .
Se você quiser permitir que chaves SSH públicas nos metadados do projeto acessem a instância, desmarque a caixa de seleção Bloquear chaves SSH em todo o projeto .
Na seção Adicionar chaves SSH geradas manualmente , clique em Adicionar item .
Adicione sua chave pública na caixa de texto. A chave deve estar em um dos seguintes formatos:
- Formato para uma chave sem prazo de validade:
KEY_VALUE USERNAME
- Formato para uma chave com prazo de validade:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectar-se a VMs Linux como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
Opcional: Especifique outras opções de configuração. Para obter mais informações, consulte Opções de configuração durante a criação da instância .
Para criar e iniciar a instância, clique em Criar .
-
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 criar uma VM e adicionar uma chave SSH pública aos metadados da instância ao mesmo tempo usando a CLI gcloud, use o comando
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --metadata=ssh-keys=PUBLIC_KEY
Substitua o seguinte:
-
VM_NAME
: o nome da nova VM PUBLIC_KEY
: sua chave SSH pública, em um dos seguintes formatos:- Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
Você pode adicionar várias chaves SSH usando o sinalizador
--metadata-from-file=ssh-keys= FILE_PATH
. No arquivo, adicione uma lista de nomes de usuário e chaves SSH públicas em um dos formatos anteriores.-
-
PROJECT_ID
: o ID do projeto -
ZONE
: a zona da VM - Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
No console do Google Cloud, acesse a página de instâncias de VM .
Clique no nome da VM à qual você deseja adicionar uma chave SSH.
Clique em Editar .
Em Chaves SSH , clique em Adicionar item .
Adicione sua chave pública na caixa de texto. A chave deve estar em um dos seguintes formatos:
- Formato para uma chave sem prazo de validade:
KEY_VALUE USERNAME
- Formato para uma chave com prazo de validade:
KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectar-se a VMs Linux como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
Clique em Salvar .
-
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.
Se houver chaves SSH existentes nos metadados da instância, você deverá adicioná-las novamente aos metadados da instância sempre que adicionar uma nova chave SSH usando a CLI gcloud. Se você não adicionar novamente as chaves existentes, adicionar uma nova chave apagará as chaves existentes.
Para adicionar uma chave SSH pública aos metadados da instância usando a CLI gcloud, faça o seguinte:
Se sua VM já tiver chaves SSH públicas em nível de instância, obtenha-as dos metadados e adicione-as a um novo arquivo:
Execute o comando
gcloud compute instances describe
para obter os metadados da VM:gcloud compute instances describe VM_NAME
Substitua VM_NAME pelo nome da VM para a qual você precisa adicionar ou remover chaves SSH públicas.
A saída é semelhante à seguinte:
... metadata: ...
- key: ssh-keys
value: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF... baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8... google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copie o valor dos metadados
ssh-keys
.Crie e abra um novo arquivo de texto em sua estação de trabalho.
No arquivo, cole a lista de chaves que você acabou de copiar.
Adicione sua nova chave no final da lista, em um dos seguintes formatos:
- Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Salve e feche o arquivo.
Execute o comando
gcloud compute instances add-metadata
para definir o valorssh-keys
:gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Substitua o seguinte:
-
VM_NAME
: a VM à qual você deseja adicionar a chave SSH -
KEY_FILE
com um dos seguintes: - O caminho para o arquivo criado na etapa anterior, se a VM tivesse chaves SSH existentes
- O caminho para o novo arquivo de chave SSH pública, se a VM não tiver chaves SSH existentes
-
Obtenha os valores de
fingerprint
essh-keys
dos metadados usando o métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua o seguinte:
-
PROJECT_ID
: o ID do seu projeto -
ZONE
: a zona da VM para adicionar uma chave SSH -
VM_NAME
: a VM para a qual você está adicionando uma chave SSH
A resposta é semelhante à seguinte:
... "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"}" } ] ...
-
Adicione o novo valor
ssh-keys
usando o 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" }
Substitua o seguinte:
-
PROJECT_ID
: o ID do seu projeto -
EXISTING_SSH_KEYS
: o valor da chavessh-keys
da resposta da solicitaçãoinstances.get
-
FINGERPRINT
: afingerprint
da resposta da solicitaçãoprojects.get
NEW_SSH_KEY
: a nova chave SSH, em um dos seguintes formatos:- Formato para uma chave sem prazo de validade:
USERNAME:KEY_VALUE
- Formato para uma chave com prazo de validade:
USERNAME:KEY_VALUE google-ssh {"userName":"USERNAME","expireOn":"EXPIRE_TIME"}
Substitua o seguinte:
-
KEY_VALUE
: o valor da chave SSH pública -
USERNAME
: seu nome de usuário. Por exemplo,cloudysanfrancisco
oucloudysanfrancisco_gmail_com
.Para VMs Linux, o
USERNAME
não pode serroot
, a menos que você configure sua VM para permitir login root. Para obter mais informações, consulte Conectando-se a instâncias como usuário root .Para VMs do Windows que usam o Active Directory (AD), o nome de usuário deve ser anexado ao domínio do AD, no formato
DOMAIN \
. Por exemplo, o usuáriocloudysanfrancisco
no ADad.example.com
tem umUSERNAME
example\cloudysanfrancisco
. -
EXPIRE_TIME
: o tempo de expiração da chave, no formato ISO 8601 . Por exemplo:2021-12-04T20:12:00+0000
- Formato para uma chave sem prazo de validade:
-
- Saiba como se conectar a VMs .
- Saiba como gerenciar o acesso às VMs .
- Aprenda como transferir arquivos para VMs .
- Saiba como as conexões SSH com VMs Linux funcionam no Compute Engine.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Adicione chaves a VMs que usam o Login do SO
As VMs que usam o Login do SO aceitam chaves SSH associadas à sua Conta do Google. Você pode associar uma chave SSH pública à sua Conta do Google usando a CLI gcloud ou a API OS Login. Se você for administrador da sua organização, poderá adicionar chaves SSH às contas de usuário usando a API Directory .
Quando você adiciona chaves SSH à sua Conta do Google, o Compute Engine gera um nome de usuário para você combinando o nome de usuário e o domínio do e-mail associado à sua Conta do Google. Por exemplo, se o seu endereço de e-mail for
cloudysanfrancisco@gmail.com
, seu nome de usuário serácloudysanfrancisco_gmail_com
. Se você adicionar uma chave SSH em um projeto fora da sua organização, seu nome de usuário será prefixado comext_
, por exemplo,ext_cloudysanfrancisco_gmail_com
. O administrador da sua organização pode personalizar seu nome de usuário usando a API Directory . Se você já tiver um nome de usuário configurado, o Compute Engine usará esse nome de usuário ao adicionar chaves SSH.gcloud
Terraforma
Para adicionar uma chave SSH pública à sua conta, use o recurso
google_client_openid_userinfo
junto com o recursogoogle_os_login_ssh_public_key
.DESCANSAR
Para adicionar uma chave SSH pública à sua conta, use o método
users.importSshPublicKey
da API de login do sistema operacional:POST https://oslogin.googleapis.com/v1/users/ACCOUNT_EMAIL:importSshPublicKey { "key": "SSH_KEY", "expirationTimeUsec": "EXPIRATION_TIMESTAMP" }
Substitua o seguinte:
Adicione chaves SSH a VMs que usam chaves SSH baseadas em metadados
VMs que não usam o login do sistema operacionalarmazenar chaves SSH nos metadados de projetos e instâncias do Compute Engine. Se o login do sistema operacional estiver habilitado para uma VM, o agente convidado da VM ignorará as chaves armazenadas nos metadados.
Você pode usar chaves SSH armazenadas nos metadados do projeto para acessar todas as VMs de um projeto. Você pode usar chaves SSH armazenadas em metadados de instância para acessar VMs individuais.
O Compute Engine não remove automaticamente chaves SSH expiradas dos metadados no momento da expiração, mas as chaves expiradas não podem ser usadas para estabelecer novas conexões com VMs. Se quiser remover chaves expiradas de metadados, consulte Remover chaves SSH de VMs que usam chaves baseadas em metadados .
Você pode adicionar uma chave SSH pública aos metadados do projeto ou da instância de VM usando o console do Google Cloud, a CLI gcloud ou REST.
Adicione chaves SSH aos metadados do projeto
Você pode adicionar uma chave SSH pública aos metadados do projeto para acessar todas as VMs de um projeto, exceto VMs que bloqueiam chaves SSH em todo o projeto. Para obter mais informações sobre como bloquear chaves SSH em todo o projeto, consulte Bloquear chaves SSH de VMs que usam chaves SSH baseadas em metadados .
Console
Para adicionar uma chave SSH pública aos metadados do projeto usando o console do Google Cloud, faça o seguinte:
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.
Terraforma
Para adicionar uma chave SSH pública aos metadados do seu projeto, use o recurso
google_compute_project_metadata
.DESCANSAR
Se houver chaves SSH existentes nos metadados do projeto, você deverá adicioná-las novamente aos metadados do projeto sempre que adicionar uma nova chave SSH usando a API Compute Engine. Se você não adicionar novamente as chaves existentes, adicionar uma nova chave apagará as chaves existentes.
Para adicionar uma chave SSH pública aos metadados do projeto usando a API Compute Engine, faça o seguinte:
Adicione chaves SSH aos metadados da instância
Você pode adicionar uma chave SSH pública aos metadados da instância ao criar uma VM ou depois de criar uma VM .
Adicione chaves SSH aos metadados da instância durante a criação da VM
É possível adicionar chaves SSH aos metadados da instância durante a criação da VM usando o console do Google Cloud, a CLI gcloud ou a API Compute Engine.
Console
Para criar uma instância e adicionar uma chave SSH pública aos metadados da instância ao mesmo tempo usando o console do Google Cloud, faça o seguinte:
gcloud
Terraforma
Para adicionar uma chave SSH pública aos metadados da sua instância, use o recurso
google_compute_instance
.DESCANSAR
Para criar uma VM e adicionar uma chave SSH pública aos metadados da instância ao mesmo tempo usando o Compute Engine, crie uma solicitação
POST
para o métodoinstances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Substitua o seguinte:
No corpo da solicitação, forneça nomes de usuário e chaves SSH públicas na propriedade
items
:... { "items": [ { "key": "ssh-keys", "value": "PUBLIC_KEY" } ] } ...
Substitua
PUBLIC_KEY
pela sua chave pública, em um dos seguintes formatos:Substitua o seguinte:
Você pode adicionar várias chaves SSH adicionando
\n
entre as chaves.Adicione chaves SSH aos metadados da instância após a criação da VM
Você pode adicionar chaves SSH aos metadados da instância após a criação da VM, usando o console do Google Cloud, a CLI gcloud ou a API Compute Engine.
Console
Para adicionar uma chave SSH pública aos metadados da instância usando o console do Google Cloud, faça o seguinte:
gcloud
DESCANSAR
Se houver chaves SSH existentes nos metadados da instância, você deverá adicioná-las novamente aos metadados da instância sempre que adicionar uma nova chave SSH usando a API Compute Engine. Se você não adicionar novamente as chaves existentes, adicionar uma nova chave apagará as chaves existentes.
Para adicionar uma chave SSH pública aos metadados da instância usando a API Compute Engine, faça o seguinte:
O que vem a seguir?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-