Este documento descreve como usar as chaves de segurança física registradas na sua Conta do Google para se conectar a instâncias de máquina virtual (VM) que usam o Login do SO.
As chaves de segurança física são usadas para gerar arquivos de chaves SSH privadas para se conectar a VMs. Quando você usa a ferramenta SSH no navegador do console do Google Cloud ou a CLI do Google Cloud para se conectar a VMs usando chaves de segurança, o Login do SO recupera o arquivo de chave SSH privada associado à sua chave de segurança e configura o arquivo de chave SSH por você. Ao usar ferramentas de terceiros para se conectar, use a API OS Login para recuperar as informações da chave SSH e configurar o arquivo da chave SSH.
Antes de começar
- Adicionar uma chave de segurança à sua Conta do Google.
- Configurar o Login do SO.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-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 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.
- As VMs com chaves de segurança ativadas aceitam apenas conexões de chaves SSH anexadas às chaves de segurança físicas registradas na Conta do Google.
- Não é possível usar o Cloud Shell para se conectar a VMs com chaves de segurança ativadas.
A VM a que você está se conectando e a estação de trabalho de onde você está se conectando precisa usar uma versão do OpenSSH 8.2 ou posterior compatível com os tipos SSH de chave de segurança. Os seguintes sistemas operacionais de VM do Compute Engine são compatíveis com chaves de segurança:
- Debian 11 ou posterior
- SUSE Linux Enterprise Server (GiB) 15 (ou mais recente)
- Ubuntu 20.04 LTS (ou posterior)
- Container-Optimized OS 93 LTS (ou mais recente)
- Rocky Linux 9 (ou posterior)
Para verificar se o ambiente é compatível com chaves de segurança, execute o seguinte comando:
ssh -Q key | grep ^sk-
Se o comando não retornar nenhuma saída, seu ambiente não será compatível com chaves de segurança.
O cliente SSH na estação de trabalho de onde você está se conectando precisa oferecer suporte a chaves de segurança e incluir as bibliotecas necessárias, como
libfido2
.Acesse a página Metadados.
Clique em Editar.
Clique em Adicionar item.
- No campo Chave, digite
enable-oslogin
. - No campo Valor, insira
TRUE
.
- No campo Chave, digite
Clique em Adicionar item.
- No campo Chave, digite
enable-oslogin-sk
. - No campo Valor, insira
TRUE
.
- No campo Chave, digite
Clique em Salvar.
Acesse a página Instâncias da VM.
Clique no nome da VM em que você quer ativar as chaves de segurança.
Clique em Editar.
Na seção Metadados, clique em Adicionar item.
- No campo Chave, digite
enable-oslogin
. - No campo Valor, insira
TRUE
.
- No campo Chave, digite
Clique em Adicionar item.
- No campo Chave, digite
enable-oslogin-sk
. - No campo Valor, insira
TRUE
.
- No campo Chave, digite
Clique em Salvar.
No console do Google Cloud, acesse a página Instâncias de VMs.
Na lista de VMs, clique em SSH na linha da VM à qual você quer se conectar.
Quando solicitado, toque na sua chave de segurança.
Instale a biblioteca de cliente do Google para Python, se ainda não tiver feito isso, executando o comando a seguir:
pip3 install google-api-python-client
Salve o exemplo de script Python a seguir, que recupera as chaves privadas associadas às chaves de segurança, configura os arquivos da chave privada e se conecta à VM.
Execute o script para configurar as chaves e se conectar opcionalmente à VM.
python3 SCRIPT_NAME.py --user_key=USER_KEY --ip_address=IP_ADDRESS [--dryrun]
Substitua:
SCRIPT_NAME
: o nome do script de configuraçãoUSER_KEY
: seu endereço de e-mail principal.IP_ADDRESS
: o endereço IP externo da VM à qual você está se conectando.[--dryrun]
: (opcional) adicione a sinalização--dryrun
para imprimir o comando de conexão sem se conectar à VM. Se você não especificar essa sinalização, o script executará o comando de conexão.
- Saiba como configurar o login do SO com a verificação em duas etapas.
- Saiba como gerenciar o Login do SO em uma organização.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Ativar chaves de segurança com o Login do SO
É possível ativar o uso de chaves de segurança para todas as VMs que usam o Login do SO no seu projeto ou para VMs únicas.
Ativar chaves de segurança para todas as VMs ativadas para o Login do SO em um projeto
Para ativar as chaves de segurança em todas as VMs que usam o Login do SO no projeto, use o console do Google Cloud ou a CLI gcloud.
Console
Para ativar as chaves de segurança de todas as VMs com Login do SO ativado, use o console do Google Cloud para definir
enable-oslogin
eenable-oslogin-sk
comoTRUE
nos metadados do projeto:gcloud
Se quiser ativar chaves de segurança para todas as VMs ativadas para Login do SO, use o comando
gcloud compute project-info add-metadata
para definirenable-oslogin=TRUE
eenable-oslogin-sk=TRUE
nos metadados do projeto:gcloud compute project-info add-metadata \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Ativar chaves de segurança em uma única VM ativada para Login do SO
Para ativar chaves de segurança em uma VM que usa o Login do SO, use o console do Google Cloud ou a CLI gcloud.
Console
Para ativar chaves de segurança em uma única VM, use o console do Google Cloud para definir
enable-oslogin
eenable-oslogin-sk
comoTRUE
nos metadados da instância:gcloud
Para ativar chaves de segurança em uma única VM, use o comando
gcloud compute instances add-metadata
para definirenable-oslogin=TRUE
eenable-oslogin-sk=TRUE
nos metadados da instância:gcloud compute instances add-metadata VM_NAME \ --metadata enable-oslogin=TRUE,enable-oslogin-sk=TRUE
Substitua
VM_NAME
pelo nome da VM.Conectar a uma VM usando uma chave de segurança
É possível se conectar a uma VM que usa chaves de segurança usando o console do Google Cloud, a gcloud CLI ou ferramentas de terceiros. Se você se conectar a VMs usando o console do Google Cloud ou a gcloud CLI, o Compute Engine vai configurar sua chave SSH para você. Se você se conectar a VMs usando ferramentas de terceiros, será preciso executar a configuração por conta própria.
Console
Quando você se conecta a VMs usando a ferramenta SSH no navegador do console do Google Cloud, o SSH no navegador recupera as chaves privadas associadas às suas chaves de segurança.
Para se conectar a uma VM com chaves de segurança ativadas, faça isto:
gcloud
Quando você se conecta às VMs usando a CLI gcloud, a CLI gcloud recupera as chaves privadas associadas às chaves de segurança e configura os arquivos das chaves privadas. Essa configuração é persistente e se aplica a todas as VMs que usam chaves de segurança.
Use o comando
gcloud beta compute ssh
para se conectar a uma VM com chaves de segurança ativadas:gcloud beta compute ssh VM_NAME
Ferramentas de terceiros
Antes de se conectar a uma VM com chaves de segurança ativadas, é necessário recuperar as chaves privadas associadas às chaves de segurança e configurar os arquivos das chaves privadas. Neste exemplo, usamos a biblioteca de cliente do Python para executar a configuração.
Você só precisará realizar esta configuração na primeira vez que se conectar a uma VM. A configuração é persistente e se aplica a todas as VMs que usam chaves de segurança no projeto.
Em um terminal na estação de trabalho, faça o seguinte:
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 2024-12-22 UTC.
-