O Compute Engine usa a autenticação SSH baseada em chave para estabelecer conexões com todas as instâncias de máquina virtual (VM, na sigla em inglês) do Linux. 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ê usa o console do Google Cloud ou a CLI do Google Cloud para se conectar às VMs, o Compute Engine realiza 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 do Google Cloud, a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar a VMs sem usar o Console do Google Cloud ou a CLI gcloud, será necessário executar algumas configurações.
Console
- Use o botão SSH no Console do Google Cloud para conectar-se à VM.
- 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 cinco minutos. Cinco minutos após o Compute Engine criar a chave, não será mais possível usá-la para se conectar à VM.
- 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
- O Compute Engine faz upload da chave SSH pública e do nome de usuário para os metadados.
- 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. - O Compute Engine concede sua conexão.
gcloud
- Use o comando
gcloud compute ssh
para conectar-se à VM. - 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 comoTRUE
, 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.
- O nome de usuário é definido como o nome de usuário da sua máquina local.
- O Compute Engine faz upload da chave SSH pública e do nome de usuário para os metadados.
- 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. - O Compute Engine concede sua conexão.
Ferramentas de terceiros
- Você cria um par de chaves SSH e nome de usuário. Consulte os detalhes em Criar chaves SSH.
- 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.
- Você se conecta à VM.
- 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. - 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.
Clique em cada guia para saber mais sobre as configurações do Compute Engine antes de conceder conexões SSH ao usar o Console do Google Cloud, a CLI gcloud ou ferramentas de terceiros para se conectar a VMs. Se você se conectar a VMs sem usar o Console do Google Cloud ou a CLI gcloud, será necessário executar algumas configurações.
Console
- Use o botão SSH no Console do Google Cloud para conectar-se à VM.
- 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:
Por exemplo, se o e-mail associado à sua Conta do Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- O Compute Engine resolve o nome de usuário fornecido para sua conta de login do SO na VM usando módulos de serviço NSS.
- O Compute Engine executa a autorização do IAM usando o
AuthorizedKeysCommand
para garantir que você tenha as permissões necessárias para se conectar. - O
AuthorizedKeysCommand
recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM. - O Compute Engine concede sua conexão.
gcloud
- Use o comando
gcloud compute ssh
para conectar-se à VM. - 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:
Por exemplo, se o e-mail associado à sua Conta do Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- O Compute Engine resolve o nome de usuário fornecido para sua conta de login do SO na VM usando módulos de serviço NSS.
- O Compute Engine executa a autorização do IAM usando o
AuthorizedKeysCommand
para garantir que você tenha as permissões necessárias para se conectar. - O
AuthorizedKeysCommand
recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM. - O Compute Engine concede sua conexão.
Ferramentas de terceiros
- Você cria um par de chaves SSH. Consulte os detalhes em Criar chaves SSH.
- 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:
Por exemplo, se o e-mail associado à Conta do Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, seu nome de usuário gerado serácloudysanfrancisco_gmail_com
. - Se quiser, defina um nome de usuário com a API Google Workspace Admin SDK Directory.
- Você se conecta à VM.
- O Compute Engine resolve o nome de usuário fornecido para sua conta de login do SO na VM usando módulos de serviço NSS.
- O Compute Engine executa a autorização do IAM usando o
AuthorizedKeysCommand
para garantir que você tenha as permissões necessárias para se conectar. - O
AuthorizedKeysCommand
recupera a chave SSH da sua conta de usuário para fornecê-la ao OpenSSH na VM. - O Compute Engine concede sua conexão.
A seguir
- Saiba mais sobre os benefícios de usar o Login do SO.
- Configure o Login do SO para gerenciar o acesso às VMs.
- Saiba como gerenciar chaves SSH em metadados, caso não queira usar o Login do SO.
- Saiba como conectar-se a VMs.
- Encontre métodos e ferramentas para diagnosticar e resolver conexões SSH com falha, consulte Solução de problemas de SSH.