Instalar o EC2 Instance Connect nas suas instâncias do EC2
Para conexão com uma instância do Linux usando o EC2 Instance Connect, a instância deve ter o EC2 Instance Connect instalado. Instalar o EC2 Instance Connect configura o daemon SSH na instância.
Para obter mais informações sobre o pacote do EC2 Instance Connect, consulte aws/aws-ec2-instance-connect-config
nota
Se você definiu as configurações de AuthorizedKeysCommand
e AuthorizedKeysCommandUser
para a autenticação SSH, a instalação do EC2 Instance Connect não as atualizará. Consequentemente, não é possível usar o EC2 Instance Connect.
Pré-requisitos de instalação
Antes de instalar o EC2 Instance Connect, verifique se você atende aos pré-requisitos a seguir.
-
Verifique se a instância usa algum dos seguintes recursos:
-
Amazon Linux 2 anterior à versão 2.0.20190618
-
AMI mínima do AL2023 ou AMI otimizada para o Amazon ECS
-
CentOS Stream 8 e 9
-
macOS Sonoma anterior à versão 14.2.1, Ventura anterior à versão 13.6.3 e Monterey anterior à versão 12.7.2
-
Red Hat Enterprise Linux (RHEL) 8 e 9
-
Ubuntu 16.04 e 18.04
dica
Se você tiver executado a instância com uma versão posterior do Amazon Linux, macOS Sonoma, macOS Ventura, macOS Monterey ou Ubuntu, ela virá com o EC2 Instance Connect pré-instalado. Portanto, você não precisará instalá-lo.
-
-
Verifique os pré-requisitos gerais para o EC2 Instance Connect.
Para ter mais informações, consulte Pré-requisitos para o EC2 Instance Connect.
-
Verifique os pré-requisitos para se conectar à sua instância usando um cliente SSH em sua máquina local.
Para ter mais informações, consulte Conectar-se à instância do Linux usando SSH.
-
Obtenha o ID da instância.
É possível obter o ID da instância usando o console do Amazon EC2 (na coluna ID da instância). Se preferir, é possível usar o comando describe-instances (AWS CLI) ou Get-EC2Instance (AWS Tools for Windows PowerShell).
Instalar manualmente o EC2 Instance Connect
nota
Se você iniciar a instância usando uma das AMIs a seguir, o EC2 Instance Connect estará pré-instalado e você poderá ignorar este procedimento:
-
AMI padrão do AL2023
-
Amazon Linux 2 2.0.20190618 ou posterior
-
macOS Sonoma 14.2.1 ou posterior
-
macOS Ventura 13.6.3 ou posterior
-
macOS Monterey 12.7.2 ou posterior
-
Ubuntu 20.04 ou posterior
Use um dos procedimentos a seguir para instalar o EC2 Instance Connect, dependendo do sistema operacional da instância.
- Amazon Linux 2
-
Para instalar o EC2 Instance Connect em uma instância aberta com Amazon Linux 2
-
Conecte-se à sua instância usando SSH.
Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o Amazon Linux 2, o nome do usuário padrão é
ec2-user
.$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
Para obter mais informações sobre como se conectar à sua instância, consulte Conectar-se à instância do Linux usando um cliente SSH.
-
Instale o pacote EC2 Instance Connect na sua instância.
[ec2-user ~]$
sudo yum install ec2-instance-connectDeverão estar visíveis três novos scripts na pasta
/opt/aws/bin/
:eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
-
(Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
[ec2-user ~]$
sudo less /etc/ssh/sshd_configO EC2 Instance Connect foi instalado com êxito se as linhas
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
contiverem os seguintes valores:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
O
AuthorizedKeysCommand
define o scripteic_run_authorized_keys
para buscar as chaves nos metadados da instância -
O
AuthorizedKeysCommandUser
define o usuário do sistema comoec2-instance-connect
nota
Se você tiver previamente configurado
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect. -
-
- CentOS
-
Para instalar o EC2 Instance Connect em uma instância executada com o CentOS
-
Conecte-se à sua instância usando SSH.
Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o CentOS, o nome de usuário padrão é
centos
ouec2-user
.$
ssh -imy_ec2_private_key
.pemcentos
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
Para obter mais informações sobre como se conectar à sua instância, consulte Conectar-se à instância do Linux usando um cliente SSH.
-
Se você usar um proxy HTTP ou HTTPS, defina o
http_proxy
ou as variáveis de ambientehttps_proxy
na sessão do shell atual.Se você não estiver usando um proxy, ignore esta etapa.
-
Para um servidor de proxy HTTP, execute os seguintes comandos:
$
export http_proxy=http://hostname:port$
export https_proxy=http://hostname:port -
Para um servidor de proxy HTTPS, execute os seguintes comandos:
$
export http_proxy=https://hostname:port$
export https_proxy=https://hostname:port
-
-
Instale o pacote do EC2 Instance Connect na sua instância executando os comandos a seguir.
Os arquivos de configuração do EC2 Instance Connect para CentOS são fornecidos em um pacote do Red Hat Package Manager (RPM), com pacotes do RPM diferentes para CentOS 8 e CentOS 9 e para tipos de instância executados em Intel/AMD (x86_64) ou ARM (AArch64).
Use o bloco de comando para a arquitetura do seu sistema operacional e de CPU.
-
CentOS 8
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm -
CentOS 9
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
Deverá estar visível o seguinte novo script na pasta
/opt/aws/bin/
:eic_run_authorized_keys
-
-
(Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
-
Para o CentOS 8:
[ec2-user ~]$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf -
Para o CentOS 9:
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
O EC2 Instance Connect foi instalado com êxito se as linhas
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
contiverem os seguintes valores:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
O
AuthorizedKeysCommand
define o scripteic_run_authorized_keys
para buscar as chaves nos metadados da instância -
O
AuthorizedKeysCommandUser
define o usuário do sistema comoec2-instance-connect
nota
Se você tiver previamente configurado
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect. -
-
- macOS
-
Para instalar o EC2 Instance Connect em uma instância executada com o macOS
-
Conecte-se à sua instância usando SSH.
Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para instâncias macOS, o nome de usuário padrão é
ec2-user
.$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
Para obter mais informações sobre como se conectar à sua instância, consulte Conectar-se à instância do Linux usando um cliente SSH.
-
Atualize o Homebrew usando o seguinte comando. A atualização listará o software que o Homebrew conhece. O pacote do EC2 Instance Connect é fornecido via Homebrew em instâncias do macOS. Para obter mais informações, consulte Atualizar o sistema operacional e o software em instâncias Mac.
[ec2-user ~]$
brew update -
Instale o pacote EC2 Instance Connect na sua instância. Isso instalará o software e configurará o SSHD para usá-lo.
[ec2-user ~]$
brew install ec2-instance-connectDeverá estar visível o seguinte novo script na pasta
/opt/aws/bin/
:eic_run_authorized_keys
-
(Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.confO EC2 Instance Connect foi instalado com êxito se as linhas
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
contiverem os seguintes valores:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
O
AuthorizedKeysCommand
define o scripteic_run_authorized_keys
para buscar as chaves nos metadados da instância -
O
AuthorizedKeysCommandUser
define o usuário do sistema comoec2-instance-connect
nota
Se você tiver previamente configurado
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect. -
-
- RHEL
-
Para instalar o EC2 Instance Connect em uma instância executada com o Red Hat Enterprise Linux (RHEL)
-
Conecte-se à sua instância usando SSH.
Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o RHEL, o nome de usuário padrão é
ec2-user
ouroot
.$
ssh -imy_ec2_private_key
.pemec2-user
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
Para obter mais informações sobre como se conectar à sua instância, consulte Conectar-se à instância do Linux usando um cliente SSH.
-
Se você usar um proxy HTTP ou HTTPS, defina o
http_proxy
ou as variáveis de ambientehttps_proxy
na sessão do shell atual.Se você não estiver usando um proxy, ignore esta etapa.
-
Para um servidor de proxy HTTP, execute os seguintes comandos:
$
export http_proxy=http://hostname:port$
export https_proxy=http://hostname:port -
Para um servidor de proxy HTTPS, execute os seguintes comandos:
$
export http_proxy=https://hostname:port$
export https_proxy=https://hostname:port
-
-
Instale o pacote do EC2 Instance Connect na sua instância executando os comandos a seguir.
Os arquivos de configuração do EC2 Instance Connect para RHEL são fornecidos em um pacote do Red Hat Package Manager (RPM), com pacotes do RPM diferentes para RHEL 8 e RHEL 9 e para tipos de instância executados em Intel/AMD (x86_64) ou ARM (AArch64).
Use o bloco de comando para a arquitetura do seu sistema operacional e de CPU.
-
RHEL 8
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rhel8.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm -
RHEL 9
Intel/AMD (x86_64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpmARM (AArch64)
[ec2-user ~]$
mkdir /tmp/ec2-instance-connect[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm[ec2-user ~]$
curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm[ec2-user ~]$
sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
Deverá estar visível o seguinte novo script na pasta
/opt/aws/bin/
:eic_run_authorized_keys
-
-
(Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
-
Para o RHEL 8:
[ec2-user ~]$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf -
Para o RHEL 9:
[ec2-user ~]$
sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
O EC2 Instance Connect foi instalado com êxito se as linhas
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
contiverem os seguintes valores:AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
-
O
AuthorizedKeysCommand
define o scripteic_run_authorized_keys
para buscar as chaves nos metadados da instância -
O
AuthorizedKeysCommandUser
define o usuário do sistema comoec2-instance-connect
nota
Se você tiver previamente configurado
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect. -
-
- Ubuntu
-
Para instalar o EC2 Instance Connect em uma instância aberta com Ubuntu 16.04 ou posterior
-
Conecte-se à sua instância usando SSH.
Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância quando você a executou e use o nome de usuário padrão da AMI que você usou para iniciar sua instância. Para uma AMI Ubuntu, o nome de usuário é
ubuntu
.$
ssh -imy_ec2_private_key
.pemubuntu
@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
Para obter mais informações sobre como se conectar à sua instância, consulte Conectar-se à instância do Linux usando um cliente SSH.
-
(Opcional) Garanta que sua instância tenha a AMI do Ubuntu mais recente.
Execute os comandos a seguir para atualizar todos os pacotes na instância.
ubuntu:~$
sudo apt-get updateubuntu:~$
sudo apt-get upgrade -
Instale o pacote EC2 Instance Connect na sua instância.
ubuntu:~$
sudo apt-get install ec2-instance-connectDeverão estar visíveis três novos scripts na pasta
/usr/share/ec2-instance-connect/
:eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
-
(Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
ubuntu:~$
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.confO EC2 Instance Connect foi instalado com êxito se as linhas
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
contiverem os seguintes valores:AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f AuthorizedKeysCommandUser ec2-instance-connect
-
O
AuthorizedKeysCommand
define o scripteic_run_authorized_keys
para buscar as chaves nos metadados da instância -
O
AuthorizedKeysCommandUser
define o usuário do sistema comoec2-instance-connect
nota
Se você tiver previamente configurado
AuthorizedKeysCommand
eAuthorizedKeysCommandUser
, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect. -
-