Acerca das ligações SSH

O Compute Engine usa a autenticação SSH baseada em chaves para estabelecer ligações a instâncias de máquinas virtuais (VM) do Linux e, adicionalmente, suporta a autenticação baseada em certificados para VMs do Início de sessão do SO. Opcionalmente, pode ativar o SSH para VMs Windows. Por predefinição, as palavras-passe não estão configuradas para utilizadores locais em VMs Linux.

Antes de poder estabelecer ligação a uma VM, têm de ser feitas várias configurações. Se usar a consola ou a CLI do Google Cloud para se ligar às suas VMs, o Compute Engine faz estas configurações em seu nome. Google Cloud O Compute Engine executa diferentes configurações consoante a ferramenta que usa para se ligar e se gerir o acesso às VMs através de metadados ou do Início de sessão do SO. O Início de sessão do SO só está disponível para VMs do Linux.

Ligações SSH geridas por metadados

Por predefinição, o Compute Engine usa metadados personalizados do projeto e/ou da instância para configurar chaves SSH e gerir o acesso SSH. Todas as VMs do Windows usam metadados para gerir chaves SSH, enquanto as VMs do Linux podem usar chaves de metadados ou o Início de sessão do SO. Se usar o Início de sessão do SO, as chaves SSH de metadados são desativadas.

Clique em cada separador para saber mais acerca das configurações que o Compute Engine realiza antes de conceder ligações SSH quando usa a Google Cloud consola, a CLI gcloud ou ferramentas de terceiros para se ligar a VMs. Se se ligar a VMs sem usar a consola ou a CLI gcloud, tem de fazer algumas configurações. Google Cloud

Consola

  1. Use o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH efémeras com a seguinte configuração:
    • O seu nome de utilizador é definido como o nome de utilizador na sua Conta Google. Por exemplo, se o endereço de email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador é cloudysanfrancisco.
    • As suas chaves SSH públicas e privadas são armazenadas na sessão do navegador.
    • A sua chave SSH tem um prazo de validade de três minutos. Três minutos após o Compute Engine criar a chave, já não pode usar a chave SSH para se ligar à VM.
  3. O Compute Engine autentica a sua chave SSH e concede a ligação.
  4. O Compute Engine carrega a chave SSH pública e o nome de utilizador para os metadados.
  5. O Compute Engine obtém a chave SSH e o nome de utilizador dos metadados, cria uma conta de utilizador com o nome de utilizador e, nas VMs Linux, armazena a chave pública no ficheiro ~/.ssh/authorized_keys do utilizador na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  6. O Compute Engine concede a sua ligação.

gcloud

  1. Use o comando gcloud compute ssh para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH persistente com as seguintes configurações:
    • O seu nome de utilizador é definido como o nome de utilizador no seu computador local.
    • A sua chave SSH pública é armazenada nos metadados do projeto. Se o Compute Engine não conseguir armazenar a chave SSH nos metadados do projeto, por exemplo, porque block-project-ssh-keys está definido como TRUE, o Compute Engine armazena a chave SSH nos metadados da instância.
    • A sua chave SSH privada está armazenada na sua máquina local.
    • A sua chave SSH não tem uma data de validade. É usada para todas as futuras ligações SSH que fizer, a menos que configure uma nova chave.
  3. O Compute Engine autentica a sua chave SSH e concede a ligação.
  4. O Compute Engine carrega a chave SSH pública e o nome de utilizador para os metadados.
  5. O Compute Engine obtém a chave SSH e o nome de utilizador dos metadados, cria uma conta de utilizador com o nome de utilizador e, nas VMs Linux, armazena a chave pública no ficheiro ~/.ssh/authorized_keys do utilizador na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  6. O Compute Engine concede a sua ligação.

Ferramentas de terceiros

  1. Cria um par de chaves SSH e um nome de utilizador. Consulte o artigo Crie chaves SSH para ver detalhes.
  2. Carrega a chave pública e o nome de utilizador para os metadados. Consulte o artigo Adicione chaves SSH a VMs que usam chaves SSH baseadas em metadados para ver detalhes.
  3. Estabelece ligação à VM.
  4. O Compute Engine obtém a chave SSH e o nome de utilizador dos metadados, cria uma conta de utilizador com o nome de utilizador e, nas VMs Linux, armazena a chave pública no ficheiro ~/.ssh/authorized_keys do utilizador na VM. Nas VMs do Windows, o Compute Engine não armazena a chave pública na VM.
  5. O Compute Engine concede a sua ligação.

Ligações SSH geridas pelo Início de sessão do SO

Quando define metadados do Início de sessão do SO, o Compute Engine elimina os ficheiros authorized_keys da VM e deixa de aceitar ligações de chaves SSH armazenadas nos metadados do projeto ou da instância. O Início de sessão do SO suporta ligações de chaves SSH associadas à sua Conta Google e certificados SSH assinados pela autoridade de certificação do Início de sessão do SO. Opcionalmente, pode exigir o Início de sessão do SO para permitir apenas ligações através de certificados SSH, conforme descrito no artigo Exija certificados SSH com o Início de sessão do SO.

Ligações de chaves SSH

Clique em cada separador para saber mais acerca das configurações que o Compute Engine realiza antes de conceder ligações SSH quando usa chaves SSH para se ligar a VMs. O Compute Engine executa diferentes configurações consoante use a Google Cloud consola, a CLI gcloud ou ferramentas de terceiros para se ligar a VMs. Se fizer a associação através de ferramentas de terceiros, tem de fazer algumas configurações.

Consola

  1. Use o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH efémeras com a seguinte configuração:
    • O seu nome de utilizador é o nome de utilizador definido pelo administrador do Cloud ID ou do Google Workspace da sua organização. Se a sua organização não tiver configurado um nome de utilizador para si ou o seu projeto não pertencer a uma organização, o Compute Engine usa o email da sua Conta Google no seguinte formato:

      USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador gerado é cloudysanfrancisco_gmail_com.

    • A sua chave SSH pública é armazenada na sessão do navegador e na sua Conta Google.
    • A sua chave SSH privada é armazenada na sessão do navegador.
    • A sua chave SSH tem um prazo de validade de três minutos. Três minutos após o Compute Engine criar a chave, não pode voltar a usar a chave SSH para se ligar à VM.
  3. O Compute Engine autentica a sua chave SSH e concede a ligação.

gcloud

  1. Use o comando gcloud compute ssh para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH persistente com as seguintes configurações:
    • O seu nome de utilizador é o nome de utilizador definido pelo administrador do Cloud ID ou do Google Workspace da sua organização. Se a sua organização não tiver configurado um nome de utilizador para si, o Compute Engine usa o email da sua Conta Google no seguinte formato:

      USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador gerado é cloudysanfrancisco_gmail_com.

    • A sua chave SSH pública é armazenada na sua Conta Google.
    • A sua chave SSH privada está armazenada na sua máquina local no ficheiro google_compute_engine.
    • A sua chave SSH não tem uma data de validade. É usada para todas as futuras ligações SSH que fizer, a menos que configure uma nova chave.
  3. O Compute Engine autentica a sua chave SSH e concede a ligação.

Ferramentas de terceiros

  1. Cria um par de chaves SSH. Consulte o artigo Crie chaves SSH para ver detalhes.
  2. Carrega a sua chave SSH pública no seu perfil de Início de sessão do SO. Consulte o artigo Adicione chaves a VMs que usam o início de sessão do SO para ver detalhes.
    • O Compute Engine armazena a sua chave na sua Conta Google.
    • O Compute Engine configura o seu nome de utilizador no formato predefinido:
          USERNAME_DOMAIN_SUFFIX
      Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador gerado é cloudysanfrancisco_gmail_com.
  3. Opcionalmente, defina um nome de utilizador com a API Google Workspace Admin SDK Directory.
  4. Estabelece ligação à VM.
  5. O Compute Engine autentica a sua chave SSH e concede a sua ligação.

Ligações de certificados SSH

Clique em cada separador para saber mais acerca das configurações que o Compute Engine realiza antes de conceder ligações SSH quando usa certificados SSH para se ligar a VMs. O Compute Engine executa diferentes configurações, dependendo se usa a Google Cloud consola, a CLI gcloud ou ferramentas de terceiros para se ligar a VMs. Se fizer a ligação através de ferramentas de terceiros, tem de fazer algumas configurações.

Consola

  1. Usa o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH efémeras. O seu nome de utilizador é o nome de utilizador definido pelo administrador do Cloud ID ou Google Workspace da sua organização. Se a sua organização não tiver configurado um nome de utilizador para si ou o seu projeto não pertencer a uma organização, o Compute Engine usa o email da sua Conta Google no seguinte formato:

    USERNAME_DOMAIN_SUFFIX
    Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador gerado é cloudysanfrancisco_gmail_com.

  3. O Compute Engine envia a sua chave pública para a autoridade de certificação do Início de sessão do SO e executa a autorização do IAM para garantir que tem as autorizações para se ligar à VM.
  4. A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
  5. O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.

gcloud

  1. Use o comando gcloud beta compute ssh para estabelecer ligação à sua VM.
  2. O Compute Engine define um nome de utilizador e cria um par de chaves SSH efémeras. O seu nome de utilizador é o nome de utilizador definido pelo administrador do Cloud ID ou Google Workspace da sua organização. Se a sua organização não tiver configurado um nome de utilizador para si ou o seu projeto não pertencer a uma organização, o Compute Engine usa o email da sua Conta Google no seguinte formato:

    USERNAME_DOMAIN_SUFFIX
    Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o seu nome de utilizador gerado é cloudysanfrancisco_gmail_com.

  3. O Compute Engine envia a sua chave pública para a autoridade de certificação do Início de sessão do SO e executa a autorização do IAM para garantir que tem as autorizações para se ligar à VM.
  4. A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
  5. O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.

Ferramentas de terceiros

  1. Cria um par de chaves SSH. Consulte o artigo Crie chaves SSH para ver detalhes.
  2. Se nunca se ligou a uma VM que usa o Início de sessão do SO, aprovisione uma conta POSIX.
  3. O Compute Engine configura o seu nome de utilizador no formato predefinido:
    USERNAME_DOMAIN_SUFFIX
    Por exemplo, se o email associado à sua Conta Google for cloudysanfrancisco@gmail.com, o nome de utilizador gerado é cloudysanfrancisco_gmail_com.
  4. O seu administrador pode, opcionalmente, definir um nome de utilizador com a API Google Workspace Admin SDK Directory. Se a sua organização usar a federação de identidades da força de trabalho, tem de contactar o administrador para alterar o seu nome de utilizador.
  5. Envia a sua chave pública para a autoridade de certificação do início de sessão do SO.
  6. A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
  7. Usa o certificado para estabelecer ligação à VM.
  8. O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.

O que se segue?