Conectar-se usando EC2 Instance Connect - Amazon Elastic Compute Cloud

Conectar-se usando EC2 Instance Connect

As instruções a seguir explicam como se conectar à sua instância do Linux usando o EC2 Instance Connect.

Decida qual opção de conexão usar.A opção de conexão a ser usada depende de sua instância ter um endereço IPv4 público:

  • Amazon EC2 console: para se conectar usando o console do Amazon EC2, a instância deve ter um endereço IPv4 público.

  • Cliente SSH: se a instância não tiver um endereço IP público, será possível conectar-se à instância através de uma rede privada usando um cliente SSH. Por exemplo, é possível se conectar de dentro da mesma VPC ou por meio de uma conexão VPN, de um gateway de trânsito ou do AWS Direct Connect.

O EC2 Instance Connect não oferece suporte à conexão usando um endereço IPv6.

dica

O EC2 Instance Connect é uma das opções para se conectar a instâncias do Linux. Para obter outras opções, consulte Conecte-se à sua instância do Linux. Para se conectar a uma instância do Windows, consulte Conectar a instâncias do Windows.

Conectar-se usando o console do Amazon EC2

É possível se conectar a uma instância usando o console do Amazon EC2 ao selecionar a instância no console e optar por se conectar usando o EC2 Instance Connect. O Instance Connect lida com as permissões e fornece uma conexão bem-sucedida.

Para se conectar usando o console do Amazon EC2, a instância deve ter um endereço IPv4 público. Antes de se conectar, certifique-se de revisar todos os pré-requisitos.

Como conectar-se à sua instância usando o cliente com base em navegador no 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. Selecione EC2 Instance Connect.

  5. Verifique o nome de usuário e escolha Connect (Conectar) para abrir uma janela de terminal.

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 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

  • Ao se conectar a uma instância que só tenha endereços IP privados, o computador local a partir do qual 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.

Antes de se conectar, certifique-se de revisar todos os pré-requisitos.

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ê tiver lançado sua instância usando AL2023 ou Amazon Linux 2, o nome do usuário padrão para a AMI será ec2-user. Se você tiver lançado sua instância usando Ubuntu, o nome do usuário padrão para a AMI será 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, ao nome de usuário padrão da AMI que você usou para executar 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

Usar o EC2 Instance Connect para se conectar à sua instância do Linux com a AWS CLI

Se você souber o ID da instância, poderá usar o Amazon EC2 Instance Connect para se conectar à instância usando um cliente SSH. Se você não especificar um tipo de conexão, o EC2 Instance Connect tentará conectar-se automaticamente ao endereço IPv4 público da sua instância. Se sua instância não tiver um endereço IPv4 público, o EC2 Instance Connect tentará conectar-se ao endereço IPv4 privado da sua instância por meio de um EC2 Instance Connect Endpoint. Se sua instância não tiver um endereço IPv4 privado ou se sua VPC não tiver um EC2 Instance Connect Endpoint, o EC2 Instance Connect tentará conectar-se ao endereço IPv6 da sua instância.

Antes de se conectar com este método, certifique-se de ter configurado a AWS CLI, incluindo as credenciais que ela usa, e de estar usando a versão mais recente da AWS CLI. Para obter mais informações, consulte Instalação ou atualização da versão mais recente da AWS CLI e Configuração da AWS CLI no Guia do usuário da AWS Command Line Interface.

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: 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

  • 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 obter mais informações sobre o EC2 Instance Connect, consulte Conectar-se à instância do Linux com o EC2 Instance Connect.

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

Se você 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 conectar-se à sua instância, use a CLI do ec2-instance-connect e especifique o comando ssh e o ID da instância.

aws ec2-instance-connect ssh --instance-id i-1234567890example
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

Solução de problemas

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