Sobre as conexões SSH


O Compute Engine usa a autenticação SSH baseada em chave para estabelecer conexões com instâncias de máquina virtual (VM) do Linux e também oferece suporte à autenticação baseada em certificado para VMs do Login do SO (prévia). Também é possível ativar o SSH para VMs do Windows. Por padrão, as senhas não são configuradas para usuários locais em VMs do Linux.

Antes de você se conectar a uma VM, várias configurações precisam ser realizadas. Se você usar o console Google Cloud ou a Google Cloud CLI para se conectar às VMs, o Compute Engine vai realizar essas configurações por você. O Compute Engine realiza configurações diferentes, de acordo com a ferramenta usada para a conexão e o uso de metadados ou do Login do SO para gerenciar o acesso às VMs. O Login do SO só está disponível para VMs do Linux.

Conexões SSH gerenciadas por metadados

Por padrão, o Compute Engine usa metadados personalizados do projeto e/ou da instância para configurar chaves SSH e gerenciar o acesso SSH. No caso do Windows, todas as VMs usam metadados para gerenciar chaves SSH. No caso do Linux, elas podem usar chaves de metadados ou o Login do SO. 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 do Compute Engine antes de conceder conexões SSH ao usar o console Google Cloud , a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar a VMs sem usar o console Google Cloud ou a CLI gcloud, será necessário executar algumas configurações.

Console

  1. Use o botão SSH no Google Cloud console para conectar à 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, o nome de usuário será cloudysanfrancisco.
    • Suas chaves SSH públicas e privadas são armazenadas na sessão do navegador.
    • Sua chave SSH tem uma validade de três minutos. Três minutos após o Compute Engine criar a chave, não será mais possível usá-la para se conectar à VM.
  3. O Compute Engine autentica sua chave SSH e concede sua conexão.
  4. O Compute Engine faz upload da chave SSH pública e do nome de usuário para os metadados.
  5. 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 a chave pública e 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.
  6. O Compute Engine concede sua conexão.

gcloud

  1. Use o comando gcloud compute ssh para conectar-se à VM.
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH permanentes com as seguintes configurações:
    • O nome de usuário é definido como o nome de usuário da 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.
    • A chave SSH privada é armazenada na máquina local.
    • Sua chave SSH não tem um prazo de 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 autentica sua chave SSH e concede sua conexão.
  4. O Compute Engine faz upload da chave SSH pública e do nome de usuário para os metadados.
  5. 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 a chave pública e 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.
  6. O Compute Engine concede sua conexão.

Ferramentas de terceiros

  1. Você cria um par de chaves SSH e nome de usuário. Consulte os detalhes em Criar chaves SSH.
  2. Você faz o upload da chave pública e do nome de usuário para os metadados. Para saber mais detalhes, consulte Adicionar chaves SSH a VMs que usam chaves SSH baseadas em metadados.
  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 a chave pública e 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 pelo login do SO

Quando você define os metadados do Login do SO, o Compute Engine exclui os arquivos authorized_keys da VM e não aceita mais conexões das chaves SSH armazenadas nos metadados do projeto ou da instância. O Login do SO aceita conexões de chaves SSH associadas à sua Conta do Google e certificados SSH (prévia) assinados pela autoridade de certificação do Login do SO. Você pode exigir o Login do SO para permitir apenas conexões usando certificados SSH, conforme descrito em Exigir certificados SSH com o Login do SO.

Conexões de chaves SSH

Clique em cada guia para saber mais sobre as configurações que o Compute Engine executa antes de conceder conexões SSH ao usar chaves SSH para se conectar a VMs. O Compute Engine executa configurações diferentes, dependendo do uso do console, da CLI gcloud ou de ferramentas de terceiros para se conectar a VMs. Google Cloud Se você se conectar usando ferramentas de terceiros, será necessário executar algumas configurações.

Console

  1. Use o botão SSH no Google Cloud console para conectar à 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:
    • O nome de usuário é o que foi definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Caso sua organização não tenha configurado um nome de usuário para você ou o projeto não pertença a uma organização, o Compute Engine usará o e-mail da Conta do Google no seguinte formato:

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

    • A 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 navegador.
    • Sua chave SSH tem uma validade de três minutos. Três minutos após o Compute Engine criar a chave, não será mais possível usá-la para se conectar à VM.
  3. O Compute Engine autentica sua chave SSH e concede sua conexão.

gcloud

  1. Use o comando gcloud compute ssh para conectar-se à VM.
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH permanentes com as seguintes configurações:
    • O nome de usuário é o que foi definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Caso a organização não tenha 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, seu nome de usuário gerado será cloudysanfrancisco_gmail_com.

    • Sua chave SSH pública é armazenada na sua Conta do Google.
    • Sua chave SSH privada é armazenada na máquina local no arquivo google_compute_engine.
    • Sua chave SSH não tem um prazo de 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 autentica sua chave SSH e concede sua conexão.

Ferramentas de terceiros

  1. Você cria um par de chaves SSH. Consulte os detalhes em Criar chaves SSH.
  2. Você faz upload da sua chave SSH pública para seu perfil de Login do SO. Para mais detalhes, consulte Adicionar chaves a VMs que usam o Login do SO.
    • O Compute Engine armazena a 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, seu nome de usuário gerado será cloudysanfrancisco_gmail_com.
  3. Se quiser, defina um nome de usuário com a API Google Workspace Admin SDK Directory.
  4. Você se conecta à VM.
  5. O Compute Engine autentica sua chave SSH e concede sua conexão.

Conexões de certificado SSH

Clique em cada guia para saber mais sobre as configurações do Compute Engine antes de conceder conexões SSH ao usar certificados SSH para se conectar a VMs. O Compute Engine realiza configurações diferentes dependendo se você usa o console Google Cloud , a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar usando ferramentas de terceiros, será preciso executar algumas configurações por conta própria.

Console

  1. Use o botão SSH no Google Cloud console para se conectar à VM.
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH temporárias. O nome de usuário é o que foi definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Caso sua organização não tenha configurado um nome de usuário para você ou seu projeto não pertença 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, seu nome de usuário gerado será cloudysanfrancisco_gmail_com.

  3. O Compute Engine envia sua chave pública para a autoridade certificadora do Login do SO e realiza a autorização do IAM para garantir que você tenha as permissões necessárias para se conectar à VM.
  4. A autoridade certificadora do Login do SO fornece um certificado SSH assinado de curta duração.
  5. O Compute Engine autentica seu certificado de curta duração e concede sua conexão.

gcloud

  1. Use o comando gcloud beta compute ssh para se conectar à VM.
  2. O Compute Engine define um nome de usuário e cria um par de chaves SSH temporárias. O nome de usuário é o que foi definido pelo administrador do Cloud Identity ou do Google Workspace da sua organização. Caso sua organização não tenha configurado um nome de usuário para você ou seu projeto não pertença 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, seu nome de usuário gerado será cloudysanfrancisco_gmail_com.

  3. O Compute Engine envia sua chave pública para a autoridade certificadora do Login do SO e realiza a autorização do IAM para garantir que você tenha as permissões necessárias para se conectar à VM.
  4. A autoridade certificadora do Login do SO fornece um certificado SSH assinado de curta duração.
  5. O Compute Engine autentica seu certificado de curta duração e concede sua conexão.

Ferramentas de terceiros

  1. Você cria um par de chaves SSH. Consulte os detalhes em Criar chaves SSH.
  2. Se você nunca se conectou a uma VM que usa o login do SO, provisione uma conta POSIX.
  3. 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, seu nome de usuário gerado será cloudysanfrancisco_gmail_com.
  4. Se quiser, seu administrador pode definir um nome de usuário com a API Directory do SDK Admin do Google Workspace. Se a sua organização usa a federação de identidade de colaboradores, entre em contato com o administrador para mudar seu nome de usuário.
  5. Você envia sua chave pública para a autoridade de certificação do Login do SO.
  6. A autoridade certificadora do Login do SO fornece um certificado SSH assinado de curta duração.
  7. Use o certificado para se conectar à VM.
  8. O Compute Engine autentica seu certificado de curta duração e concede sua conexão.

A seguir