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.

Limitações

  • Distribuições Linux com suporte:

    • Amazon Linux 2 (qualquer versão)

    • Ubuntu 16.04 ou posterior

  • Compatível em todas as Regiões da AWS, exceto África (Cidade do Cabo), Ásia-Pacífico (Hong Kong), Ásia-Pacífico (Jacarta), Ásia-Pacífico (Osaka), China (Pequim), China (Ningxia), Europa (Milão), Oriente Médio (Bahrein) e Oriente Médio (EAU).

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

  • Se a instância não tiver um endereço IP público, será possível se conectar à instância usando um cliente SSH ou a CLI do EC2 Instance Connect. 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.

Pré-requisitos

  • Instale o EC2 Instance Connect na sua instância.

    Para obter mais informações, consulte Configurar o EC2 Instance Connect.

  • (Opcional) Instale um cliente SSH no computador local.

    Não haverá a necessidade de instalar um cliente SSH se os usuários usarem apenas o console do Amazon EC2 ou a CLI do EC2 Instance Connect para se conectar a uma instância. É muito provável que seu computador local tenha um cliente SSH instalado por padrão. É possível verificar se existe um cliente SSH digitando ssh na linha de comando. Se o seu computador local não reconhecer o comando, será possível instalar um cliente SSH. Para obter informações sobre como instalar um cliente SSH no Linux ou macOS X, consulte http://www.openssh.com. Para obter informações sobre como instalar um cliente SSH no Windows 10, consulte OpenSSH no Windows.

  • (Opcional) Instale a CLI do EC2 Instance Connect CLI no computador local.

    Não haverá a necessidade de instalar a CLI do EC2 Instance Connect se os usuários utilizarem apenas o console do Amazon EC2 ou um cliente SSH para se conectar a uma instância. Para obter mais informações, consulte Tarefa 3: (opcional) instalar a EC2 Instance Connect CLI no seu computador. Esse método de conexão funciona para instâncias com endereços IP públicos.

Conectar-se usando EC2 Instance Connect

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.

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 a CLI do EC2 Instance Connect

É possível se conectar a uma instância usando a CLI do EC2 Instance Connect CLI fornecendo somente o ID da instância, enquanto a CLI do Instance Connect executa as três ações a seguir em uma só chamada: gera uma chave pública do SSH de uso único, envia por push a chave para a instância, onde permanece por 60 segundos, e conecta o usuário à instância. É possível usar comandos básicos de SSH/SFTP com a CLI do Instance Connect.

Esse método de conexão funciona para instâncias com endereços IP públicos e privados. Ao se conectar a uma instância que tenha apenas endereços IP privados, o computador local a partir do qual você está iniciando a sessão deve ter conectividade com o endpoint do serviço EC2 Instance Connect (para enviar sua chave pública SSH à instância), bem como conectividade de rede com o endereço IP privado da instância. 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.

nota

-i não é compatível ao usar mssh. Ao usar o comando mssh para se conectar à instância, você não precisa especificar nenhum tipo de arquivo de identidade porque Instance Connect gerencia o par de chaves.

Amazon Linux 2
Como se conectar a uma instância usando a CLI do EC2 Instance Connect

Use o comando mssh com o ID da instância conforme a seguir. Não é necessário especificar o nome de usuário para a AMI.

$ mssh i-001234a4bf70dec41EXAMPLE
Ubuntu
Como se conectar a uma instância usando a CLI do EC2 Instance Connect

Use o comando mssh com o ID da instância e o nome de usuário padrão para a AMI do Ubuntu conforme a seguir. é necessário especificar o nome de usuário para a AMI ou você obterá o seguinte erro: Falha na autenticação.

$ mssh ubuntu@i-001234a4bf70dec41EXAMPLE

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.

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 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 \ --instance-id i-001234a4bf70dec41EXAMPLE \ --availability-zone us-west-2b \ --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

Solução de problemas

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