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
- Use o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
- 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.
- 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
- O Compute Engine autentica a sua chave SSH e concede a ligação.
- O Compute Engine carrega a chave SSH pública e o nome de utilizador para os metadados.
- 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. - O Compute Engine concede a sua ligação.
gcloud
- Use o comando
gcloud compute ssh
para estabelecer ligação à sua VM. - 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 comoTRUE
, 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.
- O seu nome de utilizador é definido como o nome de utilizador no seu computador local.
- O Compute Engine autentica a sua chave SSH e concede a ligação.
- O Compute Engine carrega a chave SSH pública e o nome de utilizador para os metadados.
- 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. - O Compute Engine concede a sua ligação.
Ferramentas de terceiros
- Cria um par de chaves SSH e um nome de utilizador. Consulte o artigo Crie chaves SSH para ver detalhes.
- 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.
- Estabelece ligação à VM.
- 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. - 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
- Use o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
- 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:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- O Compute Engine autentica a sua chave SSH e concede a ligação.
gcloud
- Use o comando
gcloud compute ssh
para estabelecer ligação à sua VM. - 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:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- O Compute Engine autentica a sua chave SSH e concede a ligação.
Ferramentas de terceiros
- Cria um par de chaves SSH. Consulte o artigo Crie chaves SSH para ver detalhes.
- 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:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, o seu nome de utilizador gerado écloudysanfrancisco_gmail_com
. - Opcionalmente, defina um nome de utilizador com a API Google Workspace Admin SDK Directory.
- Estabelece ligação à VM.
- 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
- Usa o botão SSH na Google Cloud consola para estabelecer ligação à sua VM.
- 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:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, o seu nome de utilizador gerado écloudysanfrancisco_gmail_com
. - 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.
- A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
- O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.
gcloud
- Use o comando
gcloud beta compute ssh
para estabelecer ligação à sua VM. - 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:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, o seu nome de utilizador gerado écloudysanfrancisco_gmail_com
. - 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.
- A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
- O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.
Ferramentas de terceiros
- Cria um par de chaves SSH. Consulte o artigo Crie chaves SSH para ver detalhes.
- Se nunca se ligou a uma VM que usa o Início de sessão do SO, aprovisione uma conta POSIX.
- O Compute Engine configura o seu nome de utilizador no formato predefinido:
Por exemplo, se o email associado à sua Conta Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, o nome de utilizador gerado écloudysanfrancisco_gmail_com
. - 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.
- Envia a sua chave pública para a autoridade de certificação do início de sessão do SO.
- A autoridade de certificação do Início de sessão do SO fornece um certificado SSH assinado de curta duração.
- Usa o certificado para estabelecer ligação à VM.
- O Compute Engine autentica o seu certificado de curta duração e concede a sua ligação.
O que se segue?
- Saiba mais sobre as vantagens de usar o início de sessão do SO.
- Configure o Início de sessão do SO para gerir o acesso às suas VMs.
- Saiba como exigir certificados SSH com o Início de sessão do SO.
- Saiba como gerir chaves SSH nos metadados, se não quiser usar o Início de sessão do SO.
- Saiba como estabelecer ligação a VMs.
- Para encontrar métodos e ferramentas para diagnosticar e resolver ligações SSH com falhas, consulte o artigo Resolução de problemas de SSH.