

# Conectar-se à instância do Linux usando EC2 Instance Connect
<a name="ec2-instance-connect-methods"></a>

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. 

Ao conectar-se a uma instância usando o EC2 Instance Connect por meio do console ou da AWS CLI, a API do EC2 Instance Connect envia automaticamente por push uma chave pública de SSH para os [metadados da instância](ec2-instance-metadata.md), onde ela permanece por 60 segundos. Uma política do IAM anexada ao seu usuário autoriza esta ação. Se você preferir usar sua própria chave de SSH, será possível usar um cliente de SSH e enviar explicitamente sua chave de SSH para a instância usando o EC2 Instance Connect.

**Considerações**  
Depois de se conectar a uma instância usando o Instance Connect do EC2, a conexão persiste até que a sessão SSH seja encerrada. A duração da conexão não é determinada pela duração de suas credenciais do IAM. Se as suas credenciais do IAM expirarem, a conexão persistirá. Ao utilizar a experiência do console do Instance Connect do EC2, se as suas credenciais de IAM expirarem, encerre a conexão fechando a página do navegador. Ao usar seu próprio cliente SSH e o Instance Connect do EC2 para enviar sua chave, você pode definir um valor de tempo limite de SSH para encerrar a sessão SSH automaticamente.

**Requisitos**  
Antes de começar, revise todos os [pré-requisitos](ec2-instance-connect-prerequisites.md).

**Topics**
+ [Conectar-se usando o console do Amazon EC2](#ec2-instance-connect-connecting-console)
+ [Conectar-se usando o AWS CLI](#connect-linux-inst-eic-cli-ssh)
+ [Conectar-se usando sua própria chave e cliente SSH](#ec2-instance-connect-connecting-aws-cli)
+ [Solução de problemas](#ic-troubleshoot)

## Conectar-se usando o console do Amazon EC2
<a name="ec2-instance-connect-connecting-console"></a>

É possível se conectar a uma instância usando o EC2 Instance Connect por meio do console do Amazon EC2.

**Requisitos**  
Para se conectar usando o console do Amazon EC2, a instância deve ter um endereço IPv4 público ou IPv6. Se a instância só tiver um endereço IPv4 privado, será possível usar o [comando da AWS CLI ec2-instance-connect](#connect-linux-inst-eic-cli-ssh) para se conectar.

**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/](https://console.aws.amazon.com/ec2/).

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

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

1. Escolha a guia **EC2 Instance Connect**.

1. Escolha **Conectar usando um IP público**.

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

1. Em **Nome de usuário**, verifique o nome de usuário.

1. Escolha **Conectar** para estabelecer uma conexão. Uma janela de terminal no navegador é aberta.

## Conectar-se usando o AWS CLI
<a name="connect-linux-inst-eic-cli-ssh"></a>

É possível usar o comando da AWS CLI [ec2-instance-connect](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/index.html) para se conectar à instância usando um cliente de SSH. O EC2 Instance Connect tenta estabelecer uma conexão usando um endereço IP disponível em uma ordem predefinida, com base no tipo de conexão especificado. Se um endereço IP não estiver disponível, ele tentará automaticamente o próximo, na ordem.Tipos de conexão

`auto` (padrão)  
O EC2 Instance Connect tentará conectar-se usando os endereços IP da instância na ordem a seguir e com o tipo de conexão correspondente:  

1. IPv4 público: `direct`

1. IPv4 privado: `eice`

1. IPv6: `direct`

`direct`  
O EC2 Instance Connect tentará conectar-se usando os endereços IP da instância na ordem a seguir:  

1. IPv4 público

1. IPv6

1. IPv4 privado (não se conecta por meio de um endpoint do EC2 Instance Connect)

`eice`  
O EC2 Instance Connect tenta se conectar usando o endereço IPv4 privado da instância e um [endpoint do EC2 Instance Connect](connect-with-ec2-instance-connect-endpoint.md).

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

**Requisitos**  
É necessário usar a AWS CLI versão 2. Para obter mais informações, consulte [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**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 ssh](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) 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](connect-with-ec2-instance-connect-endpoint.md), 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
```

**dica**  
Se receber um erro ao usar esses comandos, verifique se está usando a AWS CLI versão 2, pois o comando `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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html#welcome-versions-v2), no *Guia do usuário do AWS Command Line Interface*.

## Conectar-se usando sua própria chave e cliente SSH
<a name="ec2-instance-connect-connecting-aws-cli"></a>

É 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 obter mais informações, consulte [Criar um par de chaves usando uma ferramenta de terceiros e importe a chave pública para o Amazon EC2](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws).
+ 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 Direct Connect. Para se conectar ao endereço IP privado da instância, é possível aproveitar serviços, como [Direct Connect](https://aws.amazon.com/directconnect/), [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/) ou [emparelhamento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html).

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

1. 

**Envie por push a chave pública do SSH para a instância**

   Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/send-ssh-public-key.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/send-ssh-public-key.html) 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
   ```

1. 

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

   O exemplo a seguir usa `timeout 3600` para definir que sua sessão SSH seja encerrada após 1 hora. Os processos iniciados durante a sessão podem continuar em execução na sua instância após o término da sessão.

   ```
   timeout 3600 ssh -o “IdentitiesOnly=yes” -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
   ```

## Solução de problemas
<a name="ic-troubleshoot"></a>

Se você receber um erro ao tentar se conectar à instância, consulte:
+ [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md)
+ [Como solucionar problemas de conexão à minha instância do EC2 usando o EC2 Instance Connect?](https://repost.aws/knowledge-center/ec2-instance-connect-troubleshooting)