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
- Você usa o botão SSH no console do Google Cloud para se conectar à sua 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
, 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.
- 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 nos 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, 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. - O Compute Engine concede sua conexão.
gcloud
- Você usa o comando
gcloud compute ssh
para se conectar à sua VM . - 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 comoTRUE
, 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.
- Seu nome de usuário é definido como o nome de usuário em sua máquina local.
- O Compute Engine faz upload da chave SSH pública e do nome de usuário nos 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, 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. - O Compute Engine concede sua conexão.
Ferramentas de terceiros
- Você cria um par de chaves SSH e um nome de usuário. Consulte Criar chaves SSH para obter detalhes.
- 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.
- 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, 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. - 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
- Você usa o botão SSH no console do Google Cloud para se conectar à sua 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 é 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:
Por exemplo, se o e-mail associado à sua Conta do Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- 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.
- O Compute Engine executa a autorização do IAM usando
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
- Você usa o comando
gcloud compute ssh
para se conectar à sua VM . - 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:
Por exemplo, se o e-mail associado à sua Conta do Google forUSERNAME_DOMAIN_SUFFIX
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.
- 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:
- 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.
- O Compute Engine executa a autorização do IAM usando
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 Criar chaves SSH para obter detalhes.
- 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:
Por exemplo, se o e-mail associado à sua Conta do Google forUSERNAME_DOMAIN_SUFFIX
cloudysanfrancisco@gmail.com
, o nome de usuário gerado serácloudysanfrancisco_gmail_com
. - Opcionalmente, você define um nome de usuário com a Google Workspace Admin SDK Directory API .
- Você se conecta à VM.
- 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.
- O Compute Engine executa a autorização do IAM usando
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.
O que vem a seguir?
- Saiba mais sobre os benefícios de usar o Login do SO .
- Configure o Login do SO para gerenciar o acesso às suas VMs.
- Aprenda como gerenciar chaves SSH em metadados, se você não quiser usar o Login do SO.
- Aprenda como se conectar a VMs .
- Para encontrar métodos e ferramentas para diagnosticar e resolver conexões SSH com falha, consulte Solução de problemas de SSH .