Sobre conexões SSH


O Compute Engine usa autenticação SSH baseada em chave para estabelecer conexões com todas as instâncias de máquinas virtuais (VM) Linux. Opcionalmente, você pode habilitar o SSH para VMs do Windows. Por padrão, as senhas não são configuradas para usuários locais em VMs Linux.

Antes de poder se conectar a uma VM, diversas configurações devem ser executadas. Se você usar o console do Google Cloud ou a CLI do Google Cloud para se conectar às VMs, o Compute Engine executará essas configurações em seu nome.O Compute Engine executa configurações diferentes dependendo de qual ferramenta você usa para se conectar e se você gerencia o acesso às VMs por meio de metadados ou login do sistema operacional . O Login do SO está disponível apenas para VMs Linux.

Conexões SSH gerenciadas por metadados

Por padrão,O Compute Engine usa metadados personalizados de projetos e/ou instâncias para configurar chaves SSH e gerenciar o acesso SSH.Todas as VMs do Windows usam metadados para gerenciar chaves SSH, enquanto as VMs do Linux podem usar chaves de metadados ou login do sistema operacional. Se você usar o Login do SO, as chaves SSH de metadados serão desativadas.

Clique em cada guia para saber mais sobre as configurações que o Compute Engine executa antes de conceder conexões SSH quando você usa o console do Google Cloud, a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar às VMs sem usar o console do Google Cloud ou a CLI gcloud, será necessário realizar algumas configurações por conta própria.

Console

  1. Você usa o botão SSH no console do Google Cloud para se conectar à sua VM .
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH temporárias com a seguinte configuração:
    • Seu nome de usuário é definido como o nome de usuário da sua Conta do Google. Por exemplo, se o endereço de e-mail associado à sua Conta do Google for cloudysanfrancisco@gmail.com , seu nome de usuário será cloudysanfrancisco .
    • Suas chaves SSH públicas e privadas são armazenadas na sessão do seu navegador.
    • Sua chave SSH expira em três minutos. Três minutos após o Compute Engine criar a chave, não será mais possível usar a chave SSH para se conectar à VM.
  3. O Compute Engine faz upload da chave SSH pública e do nome de usuário nos metadados.
  4. O Compute Engine recupera a chave SSH e o nome de usuário dos metadados, cria uma conta de usuário com o nome de usuário e, em VMs Linux, armazena a chave pública no arquivo ~/.ssh/authorized_keys do usuário na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  5. O Compute Engine concede sua conexão.

gcloud

  1. Você usa o comando gcloud compute ssh para se conectar à sua VM .
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH persistente com as seguintes configurações:
    • Seu nome de usuário é definido como o nome de usuário em sua máquina local.
    • Sua chave SSH pública é armazenada nos metadados do projeto. Se o Compute Engine não puder armazenar a chave SSH nos metadados do projeto, por exemplo, porque block-project-ssh-keys está definido como TRUE , o Compute Engine armazenará a chave SSH nos metadados da instância.
    • Sua chave SSH privada é armazenada em sua máquina local.
    • Sua chave SSH não tem validade. Ela será usada para todas as conexões SSH futuras que você fizer, a menos que você configure uma nova chave.
  3. O Compute Engine faz upload da chave SSH pública e do nome de usuário nos metadados.
  4. O Compute Engine recupera a chave SSH e o nome de usuário dos metadados, cria uma conta de usuário com o nome de usuário e, em VMs Linux, armazena a chave pública no arquivo ~/.ssh/authorized_keys do usuário na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  5. O Compute Engine concede sua conexão.

Ferramentas de terceiros

  1. Você cria um par de chaves SSH e um nome de usuário. Consulte Criar chaves SSH para obter detalhes.
  2. Você carrega a chave pública e o nome de usuário nos metadados. Consulte Adicionar chaves SSH a VMs que usam chaves SSH baseadas em metadados para obter detalhes.
  3. Você se conecta à VM.
  4. O Compute Engine recupera a chave SSH e o nome de usuário dos metadados, cria uma conta de usuário com o nome de usuário e, em VMs Linux, armazena a chave pública no arquivo ~/.ssh/authorized_keys do usuário na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  5. O Compute Engine concede sua conexão.

Conexões SSH gerenciadas por login do sistema operacional

Quando você define os metadados de login do SO, o Compute Engine exclui os arquivos authorized_keys da VM e não aceita mais conexões de chaves SSH armazenadas nos metadados do projeto ou da instância.

Clique em cada guia para saber mais sobre as configurações que o Compute Engine executa antes de conceder conexões SSH quando você usa o console do Google Cloud, a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar às VMs sem usar o console do Google Cloud ou a CLI gcloud, será necessário realizar algumas configurações por conta própria.

Console

  1. Você usa o botão SSH no console do Google Cloud para se conectar à sua VM .
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH temporárias com a seguinte configuração:
    • Seu nome de usuário é o nome de usuário definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Se sua organização não tiver configurado um nome de usuário para você ou se seu projeto não pertencer a uma organização, o Compute Engine usará o e-mail da sua Conta do Google, no seguinte formato:

      USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o e-mail associado à sua Conta do Google for cloudysanfrancisco@gmail.com , o nome de usuário gerado será cloudysanfrancisco_gmail_com .

    • Sua chave SSH pública é armazenada na sessão do navegador e na sua Conta do Google.
    • Sua chave SSH privada é armazenada na sessão do seu navegador.
    • Sua chave SSH expira em três minutos. Três minutos após o Compute Engine criar a chave, não será mais possível usar a chave SSH para se conectar à VM.
  3. O Compute Engine resolve o nome de usuário fornecido para sua conta de login do sistema operacional na VM usando módulos de serviço NSS.
  4. O Compute Engine executa a autorização do IAM usando AuthorizedKeysCommand para garantir que você tenha as permissões necessárias para se conectar.
  5. O AuthorizedKeysCommand recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM.
  6. O Compute Engine concede sua conexão.

gcloud

  1. Você usa o comando gcloud compute ssh para se conectar à sua VM .
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH persistente com as seguintes configurações:
    • Seu nome de usuário é o nome de usuário definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Se sua organização não tiver configurado um nome de usuário para você, o Compute Engine usará o e-mail da sua Conta do Google, no seguinte formato:

      USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o e-mail associado à sua Conta do Google for cloudysanfrancisco@gmail.com , o nome de usuário gerado será cloudysanfrancisco_gmail_com .

    • Sua chave SSH pública é armazenada em sua Conta do Google.
    • Sua chave SSH privada é armazenada em sua máquina local no arquivo google_compute_engine .
    • Sua chave SSH não tem validade. Ela será usada para todas as conexões SSH futuras que você fizer, a menos que você configure uma nova chave.
  3. O Compute Engine resolve o nome de usuário fornecido para sua conta de login do sistema operacional na VM usando módulos de serviço NSS.
  4. O Compute Engine executa a autorização do IAM usando AuthorizedKeysCommand para garantir que você tenha as permissões necessárias para se conectar.
  5. O AuthorizedKeysCommand recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM.
  6. O Compute Engine concede sua conexão.

Ferramentas de terceiros

  1. Você cria um par de chaves SSH. Consulte Criar chaves SSH para obter detalhes.
  2. Você carrega sua chave SSH pública no seu perfil de login do sistema operacional. Consulte Adicionar chaves a VMs que usam login do sistema operacional para obter detalhes.
    • O Compute Engine armazena sua chave na sua Conta do Google.
    • O Compute Engine configura seu nome de usuário no formato padrão:
          USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o e-mail associado à sua Conta do Google for cloudysanfrancisco@gmail.com , o nome de usuário gerado será cloudysanfrancisco_gmail_com .
  3. Opcionalmente, você define um nome de usuário com a Google Workspace Admin SDK Directory API .
  4. Você se conecta à VM.
  5. O Compute Engine resolve o nome de usuário fornecido para sua conta de login do sistema operacional na VM usando módulos de serviço NSS.
  6. O Compute Engine executa a autorização do IAM usando AuthorizedKeysCommand para garantir que você tenha as permissões necessárias para se conectar.
  7. O AuthorizedKeysCommand recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM.
  8. O Compute Engine concede sua conexão.

O que vem a seguir?