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.
Opções de conexão
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
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
Selecione a instância e escolha Connect (Conectar).
-
Escolha a guia EC2 Instance Connect.
-
Em Tipo de conexão, escolha Conectar usando o EC2 Instance Connect.
-
Se houver uma opção, selecione o endereço IP ao qual se conectar. Caso contrário, o endereço IP será selecionado automaticamente.
-
Em Nome de usuário, verifique o nome de usuário.
-
Escolha Conectar para abrir uma janela de terminal.
Conectar-se usando o AWS CLI
Você pode usar os comandos ec2-instance-connect
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-connectssh
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
-
Tipos com suporte: RSA (OpenSSH e SSH2) e ED25519
-
Tamanhos com suporte: 2048 e 4096.
-
Para ter mais informações, consulte Criar um par de chaves usando uma ferramenta de terceiros e importe a chave pública para o Amazon EC2.
-
-
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
-
(Opcional) Gerar chaves novas chaves SSH privadas e públicas
É possível gerar novas chaves SSH públicas e privadas,
my_key
emy_key.pub
, usando o comando a seguir:ssh-keygen -t rsa -f my_key
-
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-zoneus-west-2b
\ --instance-idi-001234a4bf70dec41EXAMPLE
\ --instance-os-userec2-user
\ --ssh-public-key file://my_key.pub
-
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: