Instalación de EC2 Instance Connect en sus instancias de EC2 - Amazon Elastic Compute Cloud

Instalación de EC2 Instance Connect en sus instancias de EC2

Para conectarse a una instancia de Linux mediante EC2 Instance Connect, la instancia debe tener EC2 Instance Connect instalado. La instalación de EC2 Instance Connect configura el daemon SSH en la instancia.

Para obtener más información sobre el paquete de EC2 Instance Connect, consulte aws/aws-ec2-instance-connect-config en el sitio web de GitHub.

nota

Si ha configurado los ajustes AuthorizedKeysCommand y AuthorizedKeysCommandUser para la autenticación SSH, la instalación de EC2 Instance Connect no los actualizará. En consecuencia, no puede utilizar EC2 Instance Connect.

Requisitos previos de instalación

Antes de instalar EC2 Instance Connect, asegúrese de cumplir los siguientes requisitos previos.

  • Compruebe que la instancia utilice uno de los siguientes:

    • Amazon Linux 2 anterior a la versión 2.0.20190618

    • AMI mínima de AL2023 o AMI optimizada para Amazon ECS

    • CentOS Stream 8 y 9

    • macOS Sonoma anterior a 14.2.1, Ventura anterior a 13.6.3 y Monterey anterior a 12.7.2

    • Red Hat Enterprise Linux (RHEL) 8 y 9

    • Ubuntu 16.04 y 18.04

    sugerencia

    Si se inició la instancia con una versión posterior de Amazon Linux, macOS Sonoma, macOS Ventura, macOS Monterey o Ubuntu, viene preinstalada con EC2 Instance Connect y, por ende, no necesita instalarlo.

  • Verifique los requisitos previos generales para EC2 Instance Connect.

    Para obtener más información, consulte Requisitos previos para EC2 Instance Connect.

  • Verifique los requisitos previos para conectarse a la instancia mediante un cliente SSH en su equipo local.

    Para obtener más información, consulte Conexión a la instancia de Linux con SSH.

  • Obtenga el ID de la instancia.

    Puede obtener el ID de su instancia con la consola de Amazon EC2 (en la columna “Instance ID” [ID de la instancia]). Si lo prefiere, puede usar el comando Describir instancias (AWS CLI) o el comando Obtener instancia de EC2 (AWS Tools for Windows PowerShell).

Instalación manual de EC2 Instance Connect

nota

Si inició la instancia mediante una de las siguientes AMI, EC2 Instance Connect está preinstalado y puede omitir este procedimiento:

  • AMI estándar AL2023

  • Amazon Linux 2 2.0.20190618 o versiones posteriores

  • macOS Sonoma 14.2.1 o posterior

  • macOS Ventura 13.6.3 o posterior

  • macOS Monterey 12.7.2 o posterior

  • Ubuntu 20.04 o versiones posteriores

Utilice uno de los siguientes procedimientos para instalar EC2 Instance Connect, en función del sistema operativo de la instancia.

Amazon Linux 2
Para instalar EC2 Instance Connect en una instancia iniciada con Amazon Linux 2
  1. Conéctese a la instancia de mediante SSH.

    Reemplace los valores de ejemplo en el siguiente comando por los suyos. Use el par de claves SSH que se asignó a su instancia cuando la lanzó y el nombre de usuario predeterminado de la AMI que utilizó para lanzar la instancia. Para Amazon Linux 2, el nombre de usuario predeterminado es ec2-user.

    $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a la instancia de Linux mediante un cliente SSH.

  2. Instale el paquete EC2 Instance Connect en su instancia.

    [ec2-user ~]$ sudo yum install ec2-instance-connect

    Debe ver tres scripts nuevos en la carpeta /opt/aws/bin/:

    eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
  3. (Opcional) Compruebe que EC2 Instance Connect se haya instalado correctamente en su instancia.

    [ec2-user ~]$ sudo less /etc/ssh/sshd_config

    EC2 Instance Connect se instaló correctamente si las líneas AuthorizedKeysCommand y AuthorizedKeysCommandUser contienen los siguientes valores:

    AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
    • AuthorizedKeysCommand define el script eic_run_authorized_keys para que busque las claves en los metadatos de la instancia

    • AuthorizedKeysCommandUser define al usuario del sistema como ec2-instance-connect

    nota

    Si ya había configurado AuthorizedKeysCommand y AuthorizedKeysCommandUser, la instalación de EC2 Instance Connect no cambiará los valores y no podrá usar EC2 Instance Connect.

CentOS
Instalar EC2 Instance Connect en una instancia iniciada con CentOS
  1. Conéctese a la instancia de mediante SSH.

    Reemplace los valores de ejemplo en el siguiente comando por los suyos. Use el par de claves SSH que se asignó a su instancia cuando la lanzó y el nombre de usuario predeterminado de la AMI que utilizó para lanzar la instancia. Para CentOS, el nombre de usuario predeterminado es centos o ec2-user.

    $ ssh -i my_ec2_private_key.pem centos@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a la instancia de Linux mediante un cliente SSH.

  2. Si utiliza un proxy HTTP o HTTPS, debe establecer las variables de entorno http_proxy o https_proxy en la sesión de shell actual.

    Si no usa un proxy, puede omitir este paso.

    • Para un servidor proxy HTTP, ejecute los siguientes comandos:

      $ export http_proxy=http://hostname:port $ export https_proxy=http://hostname:port
    • Para un servidor proxy HTTPS, ejecute los siguientes comandos:

      $ export http_proxy=https://hostname:port $ export https_proxy=https://hostname:port
  3. Instale el paquete de EC2 Instance Connect en su instancia con los siguientes comandos.

    Los archivos de configuración de EC2 Instance Connect para CentOS se proporcionan en un paquete de Red Hat Package Manager (RPM), con diferentes paquetes de RPM para CentOS 8 y CentOS 9 y para tipos de instancia que se ejecutan en Intel/AMD (x86_64) o ARM (AArch64).

    Use el bloque de comandos para el sistema operativo y la arquitectura de la 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.rpm

      RAM (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.rpm

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

    Debería ver los siguientes scripts nuevos en la carpeta /opt/aws/bin/:

    eic_run_authorized_keys
  4. (Opcional) Compruebe que EC2 Instance Connect se haya instalado correctamente en su instancia.

    • Para CentOS 8:

      [ec2-user ~]$ sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
    • Para CentOS 9:

      [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf

    EC2 Instance Connect se instaló correctamente si las líneas AuthorizedKeysCommand y AuthorizedKeysCommandUser contienen los siguientes valores:

    AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
    • AuthorizedKeysCommand define el script eic_run_authorized_keys para que busque las claves en los metadatos de la instancia

    • AuthorizedKeysCommandUser define al usuario del sistema como ec2-instance-connect

    nota

    Si ya había configurado AuthorizedKeysCommand y AuthorizedKeysCommandUser, la instalación de EC2 Instance Connect no cambiará los valores y no podrá usar EC2 Instance Connect.

macOS
Instalar EC2 Instance Connect en una instancia iniciada con macOS
  1. Conéctese a la instancia de mediante SSH.

    Reemplace los valores de ejemplo en el siguiente comando por los suyos. Use el par de claves SSH que se asignó a su instancia cuando la lanzó y el nombre de usuario predeterminado de la AMI que utilizó para lanzar la instancia. Para las instancias de macOS, el nombre de usuario predeterminado es ec2-user.

    $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a la instancia de Linux mediante un cliente SSH.

  2. Actualice Homebrew mediante el siguiente comando. La actualización incluirá el software que Homebrew conoce. El paquete EC2 Instance Connect se proporciona a través de Homebrew en las instancias de macOS. Para obtener más información, consulte Actualizar el sistema operativo y el software en las instancias de Mac.

    [ec2-user ~]$ brew update
  3. Instale el paquete EC2 Instance Connect en su instancia. Esto instalará el software y configurará sshd para usarlo.

    [ec2-user ~]$ brew install ec2-instance-connect

    Debería ver los siguientes scripts nuevos en la carpeta /opt/aws/bin/:

    eic_run_authorized_keys
  4. (Opcional) Compruebe que EC2 Instance Connect se haya instalado correctamente en su instancia.

    [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf

    EC2 Instance Connect se instaló correctamente si las líneas AuthorizedKeysCommand y AuthorizedKeysCommandUser contienen los siguientes valores:

    AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
    • AuthorizedKeysCommand define el script eic_run_authorized_keys para que busque las claves en los metadatos de la instancia

    • AuthorizedKeysCommandUser define al usuario del sistema como ec2-instance-connect

    nota

    Si ya había configurado AuthorizedKeysCommand y AuthorizedKeysCommandUser, la instalación de EC2 Instance Connect no cambiará los valores y no podrá usar EC2 Instance Connect.

RHEL
Instalar EC2 Instance Connect en una instancia iniciada con Red Hat Enterprise Linux (RHEL)
  1. Conéctese a la instancia de mediante SSH.

    Reemplace los valores de ejemplo en el siguiente comando por los suyos. Use el par de claves SSH que se asignó a su instancia cuando la lanzó y el nombre de usuario predeterminado de la AMI que utilizó para lanzar la instancia. Para RHEL, el nombre de usuario predeterminado es ec2-user o root.

    $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a la instancia de Linux mediante un cliente SSH.

  2. Si utiliza un proxy HTTP o HTTPS, debe establecer las variables de entorno http_proxy o https_proxy en la sesión de shell actual.

    Si no usa un proxy, puede omitir este paso.

    • Para un servidor proxy HTTP, ejecute los siguientes comandos:

      $ export http_proxy=http://hostname:port $ export https_proxy=http://hostname:port
    • Para un servidor proxy HTTPS, ejecute los siguientes comandos:

      $ export http_proxy=https://hostname:port $ export https_proxy=https://hostname:port
  3. Instale el paquete de EC2 Instance Connect en su instancia con los siguientes comandos.

    Los archivos de configuración de EC2 Instance Connect para RHEL se proporcionan en un paquete Red Hat Package Manager (RPM), con diferentes paquetes RPM para RHEL 8 y RHEL 9 y, por ejemplo, tipos que se ejecutan en Intel/AMD (x86_64) o ARM (AArch64).

    Use el bloque de comandos para el sistema operativo y la arquitectura de la 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.rpm

      RAM (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.rpm

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

    Debería ver los siguientes scripts nuevos en la carpeta /opt/aws/bin/:

    eic_run_authorized_keys
  4. (Opcional) Compruebe que EC2 Instance Connect se haya instalado correctamente en su instancia.

    • Para RHEL 8:

      [ec2-user ~]$ sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
    • Para RHEL 9:

      [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf

    EC2 Instance Connect se instaló correctamente si las líneas AuthorizedKeysCommand y AuthorizedKeysCommandUser contienen los siguientes valores:

    AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f AuthorizedKeysCommandUser ec2-instance-connect
    • AuthorizedKeysCommand define el script eic_run_authorized_keys para que busque las claves en los metadatos de la instancia

    • AuthorizedKeysCommandUser define al usuario del sistema como ec2-instance-connect

    nota

    Si ya había configurado AuthorizedKeysCommand y AuthorizedKeysCommandUser, la instalación de EC2 Instance Connect no cambiará los valores y no podrá usar EC2 Instance Connect.

Ubuntu
Para instalar EC2 Instance Connect en una instancia iniciada con Ubuntu 16.04 o una versión posterior
  1. Conéctese a la instancia de mediante SSH.

    Reemplace los valores de ejemplo en el siguiente comando por los suyos. Use el par de claves SSH que se asignó a su instancia cuando la lanzó y el nombre de usuario predeterminado de la AMI que utilizó para lanzar la instancia. Para una AMI de Ubuntu, el nombre de usuario es ubuntu.

    $ ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Para obtener más información sobre cómo conectarse a la instancia, consulte Conexión a la instancia de Linux mediante un cliente SSH.

  2. (Opcional) Asegúrese de que su instancia tenga la AMI de Ubuntu más reciente.

    Ejecute los siguientes comandos para actualizar todos los paquetes de su instancia.

    ubuntu:~$ sudo apt-get update
    ubuntu:~$ sudo apt-get upgrade
  3. Instale el paquete EC2 Instance Connect en su instancia.

    ubuntu:~$ sudo apt-get install ec2-instance-connect

    Debe ver tres scripts nuevos en la carpeta /usr/share/ec2-instance-connect/:

    eic_curl_authorized_keys eic_parse_authorized_keys eic_run_authorized_keys
  4. (Opcional) Compruebe que EC2 Instance Connect se haya instalado correctamente en su instancia.

    ubuntu:~$ sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf

    EC2 Instance Connect se instaló correctamente si las líneas AuthorizedKeysCommand y AuthorizedKeysCommandUser contienen los siguientes valores:

    AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f AuthorizedKeysCommandUser ec2-instance-connect
    • AuthorizedKeysCommand define el script eic_run_authorized_keys para que busque las claves en los metadatos de la instancia

    • AuthorizedKeysCommandUser define al usuario del sistema como ec2-instance-connect

    nota

    Si ya había configurado AuthorizedKeysCommand y AuthorizedKeysCommandUser, la instalación de EC2 Instance Connect no cambiará los valores y no podrá usar EC2 Instance Connect.