Conectar-se à instância do Linux usando EC2 Instance Connect - Amazon Elastic Compute Cloud

Conectar-se à instância do Linux usando EC2 Instance Connect

As instruções a seguir explicam como você pode se conectar a instâncias do Linux usando o EC2 Instance Connect por meio do console do Amazon EC2, da AWS CLI ou de um cliente SSH.

Requisitos

Antes de começar, revise todos os pré-requisitos.

Conectar-se usando o console do Amazon EC2

Você pode se conectar a uma instância usando o EC2 Instance Connect por meio do console do Amazon EC2. O EC2 Instance Connect lida com as permissões.

Requisito

Para se conectar usando o console do Amazon EC2, a instância deve ter um endereço IPv4 ou IPv6 público. Se a instância só tiver um endereço IPv4, você poderá se conectar usando os comandos ec2-instance-connect da AWS CLI.

Conectar-se a instâncias do Linux usando o console do Amazon EC2
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação, escolha Instances (Instâncias).

  3. Selecione a instância e escolha Connect (Conectar).

  4. Escolha a guia EC2 Instance Connect.

  5. Em Tipo de conexão, escolha Conectar usando o EC2 Instance Connect.

  6. Se houver uma opção, selecione o endereço IP ao qual se conectar. Caso contrário, o endereço IP será selecionado automaticamente.

  7. Em Nome de usuário, verifique o nome de usuário.

  8. Escolha Conectar para abrir uma janela de terminal.

Conectar-se usando o AWS CLI

Você pode usar os comandos ec2-instance-connect da AWS CLI para se conectar à instância usando um cliente SSH.

Se você não especificar um tipo de conexão, o EC2 Instance Connect tentará se conectar à instância da seguinte maneira:

  • Conectar usando o endereço IPv4 público.

  • Se não houver um endereço IPv4 público, conecte-se usando o endereço IPv4 privado e um EC2 Instance Connect Endpoint

  • Se não houver um endereço IPv4 privado ou um EC2 Instance Connect Endpoint, conecte-se usando o endereço IPv6 público.

A conexão com um endereço IPv6 privado não é permitida.

Requisitos

Você deve se preparar para usar a AWS CLI versão 2. Para obter mais informações, consulte Install or update to the latest version of the AWS CLI.

Tipos de conexão
auto (padrão)

A CLI tenta conectar-se usando os endereços IP da instância na seguinte ordem e com o tipo de conexão correspondente:

  • IPv4 público: direct

  • IPv4 privado: eice

  • IPv6 público: direct

direct

A CLI tenta se conectar usando os endereços IP da instância na seguinte ordem (ela não se conecta por meio de um EC2 Instance Connect Endpoint):

  • IPv4 público

  • IPv6 público

  • IPv4 privado

eice

A CLI sempre usa o endereço IPv4 privado da instância.

nota

No futuro, podemos mudar o comportamento do tipo de conexão auto. Para garantir que seu tipo de conexão desejado seja usado, recomendamos que você defina explicitamente --connection-type como direct ou eice.

Ao conectar-se a uma instância usando o EC2 Instance Connect, a API do EC2 Instance Connect envia por push uma chave pública SSH para os metadados da instância, onde ela permanece por 60 segundos. A política do IAM anexada ao usuário autoriza o usuário a enviar por push a chave pública para os metadados da instância.

Para se conectar a uma instância usando o ID da instância

Se souber apenas o ID da instância e quiser permitir que o EC2 Instance Connect determine o tipo de conexão a ser usado ao se conectar à sua instância, use o comando da CLI ec2-instance-connect e especifique o parâmetro ssh e o ID da instância.

aws ec2-instance-connect ssh --instance-id i-1234567890example
dica

Se receber um erro ao usar esse comando, verifique se está usando a AWS CLI versão 2, pois o parâmetro ssh só está disponível nesta versão principal. Também recomendamos atualizar regularmente para a versão secundária mais recente da AWS CLI versão 2 para acessar os recursos mais recentes. Para obter mais informações, consulte Sobre o AWS CLI versão 2, no Guia do usuário do AWS Command Line Interface.

Para se conectar a uma instância usando o ID da instância e um EC2 Instance Connect Endpoint

Se você quiser conectar-se à sua instância por meio de um EC2 Instance Connect Endpoint, use o comando anterior e também especifique o parâmetro --connection-type com o valor eice.

aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type eice
Para se conectar a uma instância usando o ID da instância e seu próprio arquivo de chave privada

Se você quiser conectar-se à sua instância por meio de um EC2 Instance Connect Endpoint usando sua própria chave privada, especifique o ID da instância e o caminho para o arquivo da chave privada. Não inclua file:// no caminho. O exemplo a seguir falhará: file: ///caminho/para/a/chave.

aws ec2-instance-connect ssh --instance-id i-1234567890example --private-key-file /path/to/key.pem

Conectar-se usando sua própria chave e cliente SSH

É possível usar sua própria chave SSH e conectar-se à sua instância a partir do cliente SSH de sua escolha enquanto usa a API do EC2 Instance Connect. Isso permite que você se beneficie da capacidade do EC2 Instance Connect de enviar por push uma chave pública para a instância. Esse método de conexão funciona para instâncias com endereços IP públicos e privados.

Requisitos
  • Requisitos para pares de chaves

  • Quando ocorre uma conexão com uma instância que só tem endereços IP privados, o computador local em que você está iniciando a sessão SSH deve ter conectividade com o endpoint do serviço EC2 Instance Connect (para enviar sua chave pública SSH para a instância), além de conectividade de rede para o endereço IP privado da instância para estabelecer a sessão SSH. O endpoint de serviço do EC2 Instance Connect é acessível pela Internet ou por meio de uma interface virtual pública do AWS Direct Connect. Para se conectar ao endereço IP privado da instância, é possível aproveitar serviços, como AWS Direct Connect, AWS Site-to-Site VPN ou emparelhamento de VPC.

Para se conectar à sua instância usando a própria chave e qualquer cliente SSH
  1. (Opcional) Gerar chaves novas chaves SSH privadas e públicas

    É possível gerar novas chaves SSH públicas e privadas, my_key e my_key.pub, usando o comando a seguir:

    ssh-keygen -t rsa -f my_key
  2. Envie por push a chave pública do SSH para a instância

    Use o comando send-ssh-public-key para enviar por push a chave pública SSH para a instância. Se você executou sua instância usando o AL2023 ou o Amazon Linux 2, o nome de usuário padrão da AMI é ec2-user. Se você executou sua instância usando o Ubuntu, o nome de usuário padrão da AMI é ubuntu.

    O exemplo a seguir envia a chave pública para a instância especificada na zona de disponibilidade especificada, para autenticar ec2-user.

    aws ec2-instance-connect send-ssh-public-key \ --region us-west-2 \ --availability-zone us-west-2b \ --instance-id i-001234a4bf70dec41EXAMPLE \ --instance-os-user ec2-user \ --ssh-public-key file://my_key.pub
  3. Conecte-se à instância usando a chave privada

    Use o comando ssh para se conectar à instância usando a chave privada antes de a chave pública ser removida dos metadados da instância (você tem 60 segundos antes de ser removida). Especifique a chave privada que corresponde à chave pública, o nome de usuário padrão da AMI usado para iniciar sua instância e o nome DNS público da instância (se estiver se conectando por uma rede privada, especifique o nome DNS privado ou o endereço IP). Adicione a opção IdentitiesOnly=yes para garantir que apenas os arquivos na configuração ssh e a chave especificada sejam usados para a conexão.

    ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

Solução de problemas

Se você receber um erro ao tentar se conectar à instância, consulte: