Este documento descreve como configurar apps para se conectar de maneira programática entre duas instâncias de máquina virtual (VM) usando login SSH e SO. Ativar apps para usar o SSH pode ser útil para automatizar processos de gerenciamento de sistemas.
Todas as amostras de código usadas neste guia estão hospedadas na página do GoogleCloudPlatform/python-docs-samples do GitHub.
Antes de começar
- Configure o SSH para uma conta de serviço.
- Configure o Login do SO no seu projeto ou em uma VM executada como uma conta de serviço.
- 
  
  Configure a autenticação, caso ainda não tenha feito isso.
  Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
 
 
  
    
      Select the tab for how you plan to use the samples on this page: ConsoleWhen you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. gcloud- 
 
 
  
  
   
   
  
   
   
  
   
   
     
   
  
  
   
   
  
   
   
  
   
   
  
 
 
   
   
      Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando: gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada. 
- Set a default region and zone.
 Configurar um app SSHConfigure seu app para gerenciar chaves SSH e iniciar conexões SSH com VMs do Compute Engine. De modo geral, o app precisa fazer o seguinte: - Importe a biblioteca de Login do SO do Google para criar bibliotecas de cliente, o que permite a autenticação com a API Login do SO.
- Inicialize o objeto da API OS Login para permitir que o app use o Login do SO.
- Implemente um método create_ssh_key()que gere uma chave SSH para a conta de serviço da VM e adicione a chave pública à conta de serviço.
- Chame o  métodoget_login_profile()da API do Login do SO para conseguir o nome de usuário POSIX usado pela conta de serviço.
- Implemente um método run_ssh()para executar um comando SSH remoto.
- Remova os arquivos de chave SSH temporários.
 App SSH de amostraO app de exemplo oslogin_service_account_ssh.pydemonstra uma possível implementação de um app SSH. Neste exemplo, o aplicativo usa o métodorun_ssh()para executar um comando em uma instância remota e retornar a saída do comando.Executar o app SSHDepois de criar um app que usa SSH, é possível executá-lo seguindo um processo semelhante ao exemplo a seguir, que instala e executa o app de amostra oslogin_service_account_ssh.py. As bibliotecas instaladas podem ser diferentes, dependendo da linguagem de programação que o app usar.Como alternativa, você pode criar um app que importa oslogin_service_account_ssh.pye o executa diretamente.- Conecte-se à VM que hospeda o app SSH. 
- Na VM, instale - pipe a biblioteca de cliente do Python 3:- sudo apt update && sudo apt install python3-pip -y && pip install --upgrade google-cloud-os-login requests 
- Opcional: se você estiver usando o app de exemplo - oslogin_service_account_ssh.py, faça o download em GoogleCloudPlatform/python-docs-samples:- curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/compute/oslogin/oslogin_service_account_ssh.py 
- Execute o app SSH. O app de exemplo usa - argparsepara aceitar variáveis da linha de comando. Neste exemplo, instrua o app a instalar e executar- cowsayem outra VM no projeto.- python3 service_account_ssh.py \ --cmd 'sudo apt install cowsay -y && cowsay "It works!"' \ --project=PROJECT_ID --instance=VM_NAME --zone=ZONE - Substitua: - PROJECT_ID: o ID do projeto da VM a que o aplicativo está se conectando.
- VM_NAME: o nome da VM a que o app está se conectando.
- ZONE: a zona da VM a que o aplicativo está se conectando.
 - O resultado será assim: - ⋮ ___________ It works! ----------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
 A seguir- Faça o download e confira o exemplo de código completo. A amostra completa contém um pequeno exemplo de como usar todos esses métodos juntos. Sinta-se à vontade para fazer o download desse exemplo, alterá-lo e executá-lo para atender às suas necessidades.
- Saiba mais sobre como as conexões SSH funcionam no Compute Engine, incluindo configuração e armazenamento de 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-10-19 UTC. -