Este documento descreve como impedir que os utilizadores acedam a instâncias de máquinas virtuais (VMs) removendo e bloqueando chaves SSH de VMs.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Cloud de Confiance by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se 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 Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init - Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud initPara mais informações, consulte o artigo Autenticar para usar REST na Cloud de Confiance documentação de autenticação.
Remova chaves SSH
Pode remover uma chave SSH pública dos metadados do projeto ou da instância através da Cloud de Confiance consola, da CLI gcloud ou da API Compute Engine.
Depois de remover a última chave dos metadados de um determinado utilizador ou quando a última chave nos metadados de um determinado utilizador expira, o Compute Engine elimina o ficheiro
~/.ssh/authorized_keysdo utilizador na VM.Remova uma chave pública dos metadados do projeto
Remova uma chave pública de SSH dos metadados do projeto para remover o acesso a todas as VMs num projeto.
Quando remove uma chave dos metadados através da CLI gcloud e da API Compute Engine, tem de obter a lista de chaves existentes, editar a lista de chaves para remover as chaves indesejadas e substituir as chaves antigas pela lista de chaves que quer manter, conforme explicado na secção seguinte.
Consola
Para remover uma chave pública de SSH dos metadados do projeto através da consola Cloud de Confiance , faça o seguinte:
Na Cloud de Confiance consola, aceda à página Metadados.
Clique no separador Chaves SSH.
Clique em Editar na parte superior da página.
Navegue para a chave SSH que quer remover e clique no botão de eliminação junto à chave SSH.
Repita este passo para cada chave SSH que quer remover.
Clique em Guardar.
gcloud
Para remover uma chave pública de SSH dos metadados do projeto através da CLI gcloud, faça o seguinte:
Execute o comando
gcloud compute project-info describepara obter os metadados do projeto:gcloud compute project-info describe
O resultado é semelhante ao seguinte:
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copie o valor de metadados
ssh-keys.Crie e abra um novo ficheiro de texto na sua estação de trabalho.
No ficheiro, cole a lista de chaves SSH que acabou de copiar e, em seguida, elimine todas as chaves que quer remover dos metadados do projeto.
Guarde e feche o ficheiro.
Execute o comando
gcloud compute project-info add-metadatapara definir o valorssh-keysao nível do projeto:gcloud compute project-info add-metadata --metadata-from-file=ssh-keys=KEY_FILE
Substitua
KEY_FILEpor uma das seguintes opções:- O caminho para o ficheiro que criou no passo anterior, se o projeto tiver chaves SSH existentes
- O caminho para o novo ficheiro de chave SSH pública, se o projeto não tiver chaves SSH existentes
REST
Para remover uma chave SSH pública dos metadados do projeto através da API Compute Engine, faça o seguinte:
Use o método
projects.getpara obter os valoresfingerprintessh-keysdos metadados.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Substitua
PROJECT_IDpelo 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"}" } ] ...Copie a lista de valores de chaves SSH e elimine as chaves que quer remover.
Use o comando
projects.setCommonInstanceMetadatapara remover as chaves SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS" } ] "fingerprint": "FINGERPRINT" }Substitua o seguinte:
PROJECT_ID: o ID do seu projetoEXISTING_SSH_KEYS: a lista das chaves SSH que quer manterFINGERPRINT: o valor defingerprintda resposta do pedidoprojects.get
Remova uma chave SSH pública dos metadados da instância
Remova uma chave SSH pública dos metadados da instância para remover o acesso a uma única VM.
Quando remove uma chave dos metadados através da CLI gcloud e da API Compute Engine, tem de obter a lista de chaves existentes, editar a lista de chaves para remover as chaves indesejadas e substituir as chaves antigas pela lista de chaves que quer manter, conforme explicado na secção seguinte.
Consola
Para remover uma chave SSH pública dos metadados da instância através da Cloud de Confiance consola, faça o seguinte:
Na Cloud de Confiance consola, aceda à página Instâncias de VM.
Clique no nome da VM para a qual quer remover uma chave.
Clique em Edit.
Na secção Chaves SSH, clique em Mostrar e editar. A secção expande-se para mostrar todas as chaves SSH públicas ao nível da instância.
Clique no botão de eliminação junto à chave SSH que quer remover.
Repita este passo para cada chave SSH que quer remover.
Clique em Guardar.
gcloud
Para remover uma chave SSH pública dos metadados da instância através da CLI gcloud, faça o seguinte:
Execute o comando
gcloud compute instances describepara obter os metadados da VM:gcloud compute instances describe VM_NAME
Substitua VM_NAME pelo nome da VM para a qual tem de adicionar ou remover chaves SSH públicas.
O resultado é semelhante ao seguinte:
... metadata: ...
- key: ssh-keysvalue: |- cloudysanfrancisco:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAu5kKQCPF baklavainthebalkans:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDQDx3FNVC8 google-ssh {"userName":"baklavainthebalkans","expireOn":"2021-06-14T16:59:03+0000"} ...Copie o valor de metadados
ssh-keys.Crie e abra um novo ficheiro de texto na sua estação de trabalho local.
No ficheiro, cole a lista de chaves SSH que acabou de copiar e, em seguida, remova todas as chaves que quer eliminar.
Guarde e feche o ficheiro.
Execute o comando
gcloud compute project-info add-metadatapara definir o valorssh-keysao nível do projeto:gcloud compute instances add-metadata VM_NAME --metadata-from-file ssh-keys=KEY_FILE
Substitua o seguinte:
VM_NAME: a VM para a qual quer remover a chave SSHKEY_FILE: o caminho para o ficheiro que contém a lista de todas as chaves SSH do projeto
REST
Para remover uma chave SSH pública dos metadados da instância através da API Compute Engine, faça o seguinte:
Use o método
instances.getpara obter os valoresfingerprintessh-keysdos metadados.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua o seguinte:
PROJECT_ID: o ID do seu projetoZONE: a zona da VM para a qual está a adicionar uma chave SSHVM_NAME: a VM para a qual está a adicionar 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"}" } ] ...Copie a lista de valores de chaves SSH e elimine as chaves que quer remover.
Use o comando
instances.setMetadatapara remover as chaves SSH.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "ssh-keys", "value": "EXISTING_SSH_KEYS } ] "fingerprint": "FINGERPRINT" }Substitua o seguinte:
PROJECT_ID: o ID do seu projetoEXISTING_SSH_KEYS: o valor da chavessh-keysda resposta do pedidoprojects.getFINGERPRINT: o valor defingerprintda resposta do pedidoinstances.get
Bloqueie as chaves SSH do projeto em VMs que usam chaves SSH baseadas em metadados
Pode impedir que as VMs aceitem chaves SSH armazenadas nos metadados do projeto bloqueando as chaves SSH do projeto nas VMs. Pode bloquear chaves SSH do projeto em VMs quando cria uma VM ou depois de criar uma VM.
Bloqueie chaves SSH de projeto de uma VM durante a criação da VM
Pode bloquear as chaves SSH do projeto nas VMs durante a criação das VMs através da Cloud de Confiance consola, da CLI gcloud ou da API Compute Engine.
Consola
Para criar uma instância e impedir que aceite chaves SSH armazenadas nos metadados do projeto através da consola Cloud de Confiance , faça o seguinte:
Na Cloud de Confiance consola, aceda à página Criar uma instância.
Para bloquear chaves SSH do projeto, faça o seguinte:
No menu de navegação, clique em Segurança.
Expanda a secção Gerir acesso.
Para desativar o Início de sessão do SO, desmarque a caixa de verificação Controlar o acesso à VM através de autorizações da IAM.
Selecione a caixa de verificação Bloquear chaves SSH ao nível do projeto.
Opcional: especifique outras opções de configuração. Para mais informações, consulte o artigo Opções de configuração durante a criação da instância.
Para criar e iniciar a instância, clique em Criar.
gcloud
Para criar uma VM e impedir que aceite chaves SSH armazenadas nos metadados do projeto através da CLI gcloud, use o comando
gcloud compute instances create:gcloud compute instances create VM_NAME \ --metadata block-project-ssh-keys=TRUESubstitua
VM_NAMEpelo nome da nova VM.REST
Para criar uma VM e impedir que aceite chaves SSH armazenadas nos metadados do projeto através do Compute Engine, crie um pedido
POSTpara o métodoinstances.insert:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Substitua o seguinte:
PROJECT_ID: o ID do projetoZONE: a zona da VM
No corpo do pedido, indique os nomes de utilizador e as chaves SSH públicas na propriedade
items:... { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] } ...Bloqueie chaves SSH do projeto numa VM após a criação da VM
Pode bloquear as chaves SSH do projeto nas VMs após a criação da VM através da Cloud de Confiance consola, da CLI gcloud ou da API Compute Engine.
Consola
Para impedir que as VMs aceitem ligações de chaves SSH armazenadas nos metadados do projeto através da Cloud de Confiance consola, faça o seguinte:
Na Cloud de Confiance consola, aceda à página Instâncias de VM.
Clique no nome da VM para a qual quer bloquear as chaves SSH do projeto.
Clique em Edit.
Em Chaves SSH, selecione a caixa de verificação Bloquear chaves SSH ao nível do projeto.
Quando terminar de editar a definição de ligação para chaves SSH, clique em Guardar.
gcloud
Para impedir que as VMs aceitem ligações de chaves SSH armazenadas nos metadados do projeto através da CLI gcloud, faça o seguinte:
Execute o comando
gcloud compute instances add-metadata:gcloud compute instances add-metadata VM_NAME --metadata block-project-ssh-keys=TRUE
Substitua
VM_NAMEpelo nome da VM para a qual quer bloquear chaves SSH públicas ao nível do projeto.REST
Para impedir que as VMs aceitem ligações de chaves SSH armazenadas nos metadados do projeto através da API Compute Engine, faça o seguinte:
Use o método
instances.getpara obter ofingerprinta partir dos metadados.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua o seguinte:
PROJECT_ID: o ID do seu projetoZONE: a zona da VM para a qual está a adicionar uma chave SSHVM_NAME: a VM para a qual está a adicionar uma chave SSH
A resposta é semelhante à seguinte:
... "fingerprint": "utgYE_XWtE8=" ...
Use o método
instances.setMetadatapara definirblock-project-ssh-keyscomoTRUE:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "items": [ { "key": "block-project-ssh-keys", "value": TRUE } ] "fingerprint": "FINGERPRINT" }Substitua o seguinte:
PROJECT_IDé o ID do seu projetoZONEé a zona onde a sua instância está localizadaINSTANCE_NAMEé a instância na qual quer bloquear chaves ao nível do projeto.FINGERPRINT: o valor defingerprintda resposta do pedidoinstances.get.
O que se segue?
- Estabeleça ligação a VMs através de ferramentas Google, para não ter de gerir as suas próprias chaves SSH.
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-12-17 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-17 UTC."],[],[]] -