

# Conexión a una instancia de Amazon EC2 mediante el punto de conexión de EC2 Instance Connect
<a name="connect-using-eice"></a>

Puede usar el punto de conexión de EC2 Instance Connect para conectarse a una instancia de Amazon EC2 que admita SSH o RDP.

**Requisitos previos**
+ Debe tener el permiso de IAM necesario para conectarse a un punto de conexión de EC2 Instance Connect. Para obtener más información, consulte [Permisos para usar el punto de conexión de EC2 Instance Connect para conectarse a instancias](permissions-for-ec2-instance-connect-endpoint.md#iam-OpenTunnel).
+ El punto de conexión de EC2 Instance Connect se debe encontrar en uno de los siguientes estados:
  + **create-complete** para un nuevo punto de conexión
  + **update-in-progress**, **update-complete** o **update-failed**, para un punto de conexión existente que se modifica. Cuando se modifica un punto de conexión, este conserva su configuración original hasta que el estado cambia a **update-complete**. 

    Si la VPC no tiene un punto de conexión de EC2 Instance Connect, puede crear uno. Para obtener más información, consulte [Creación de un punto de conexión de EC2 Instance Connect](create-ec2-instance-connect-endpoints.md).
+ El tipo de dirección IP del punto de conexión de EC2 Instance Connect debe ser compatible con el tipo de dirección IP de la instancia. Si el tipo de dirección IP del punto de conexión es de tipo doble pila, puede funcionar tanto con direcciones IPv4 como IPv6.
+ (Instancias de Linux) Para utilizar la consola de Amazon EC2 para conectarse a la instancia, o para utilizar la CLI para conectarse y hacer que EC2 Instance Connect gestione la clave efímera, la instancia debe tener instalado EC2 Instance Connect. Para obtener más información, consulte [Instalación de EC2 Instance Connect](ec2-instance-connect-set-up.md).
+ Asegúrese de que el grupo de seguridad de la instancia permita el tráfico SSH entrante desde el punto de conexión de EC2 Instance Connect. Para obtener más información, consulte [Reglas del grupo de seguridad de instancias de destino](eice-security-groups.md#resource-security-group-rules).

**Topics**
+ [Conexión a la instancia de Linux con la consola de Amazon EC2](#connect-using-the-ec2-console)
+ [Conexión a la instancia de Linux con SSH](#eic-connect-using-ssh)
+ [Conéctese a la instancia de Linux con el ID de la instancia mediante la AWS CLI](#eic-connect-using-cli)
+ [Conectarse a una instancia de Windows mediante RDP](#eic-connect-using-rdp)
+ [Solución de problemas](#troubleshoot-eice)

## Conexión a la instancia de Linux con la consola de Amazon EC2
<a name="connect-using-the-ec2-console"></a>

Puede conectarse a una instancia mediante la consola de Amazon EC2 de la siguiente manera (un cliente basado en navegador).

**Para conectarse a la instancia mediante la consola de Amazon EC2**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia y, a continuación, elija **Connect**.

1. Elija la pestaña **EC2 Instance Connect**.

1. En **Tipo de conexión**, elija **Conectarse mediante una dirección IP privada**.

1. Elija **Dirección IPv4 privada** o **Dirección IPv6**. Las opciones disponibles dependen de las direcciones IP asignadas a la instancia. Si una opción aparece atenuada, significa que la instancia no tiene asignada una dirección IP de ese tipo.

1. En **Punto de conexión de EC2 Instance Connect**, elija el ID del punto de conexión de EC2 Instance Connect.
**nota**  
El punto de conexión de EC2 Instance Connect debe ser compatible con la dirección IP que haya elegido en el paso anterior. Si el tipo de dirección IP del punto de conexión es de tipo doble pila, puede funcionar tanto con direcciones IPv4 como IPv6. Para obtener más información, consulte [Creación de un punto de conexión de EC2 Instance Connect](create-ec2-instance-connect-endpoints.md).

1. En **Nombre de usuario**, si la AMI que utilizó para iniciar la instancia utiliza un nombre de usuario que no sea `ec2-user`, introduzca el nombre de usuario correcto.

1. En **Duración máxima del túnel (segundos)**, ingrese la duración máxima permitida de la conexión SSH.

   La duración debe cumplir con la condición `maxTunnelDuration` especificada en la política de IAM. Si no se tiene acceso a la política de IAM, contáctese con su administrador.

1. Elija **Conectar**. Esto abre una ventana de terminal para la instancia.

## Conexión a la instancia de Linux con SSH
<a name="eic-connect-using-ssh"></a>

Puede usar SSH para conectarse a la instancia de Linux y usar el comando `open-tunnel` para establecer un túnel privado. Se puede utilizar `open-tunnel` en los modos de conexión única o múltiple. Puede especificar el ID de la instancia, una dirección IPv4 privada o una dirección IPv6.

Para obtener más información acerca del uso de la AWS CLI para conectarse a la instancia de mediante SSH, consulte [Conexión mediante la AWS CLI](ec2-instance-connect-methods.md#connect-linux-inst-eic-cli-ssh).

El siguiente ejemplo usa [OpenSSH](https://www.openssh.com/). Puede usar cualquier otro cliente SSH que admita el modo proxy.

### Conexión única de
<a name="ssh-single-connection"></a>

**Para permitir solo una conexión a una instancia mediante SSH y el comando `open-tunnel`**

Utilice `ssh` y el comando de AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) de la siguiente manera: El comando de proxy `-o` incluye el comando `open-tunnel` que crea el túnel privado hacia la instancia.

```
ssh -i my-key-pair.pem ec2-user@i-1234567890abcdef0 \
    -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id i-1234567890abcdef0'
```

Para:
+ `-i`: especifique el par de claves que se usó para iniciar la instancia.
+ `ec2-user@i-1234567890abcdef0`: especifique el nombre de usuario de la AMI que se usó para iniciar la instancia y el ID de la instancia. En el caso de instancias con una dirección IPv6, debe especificar la dirección IPv6 en lugar del ID de la instancia.
+ `--instance-id`: especifique el ID de la instancia a la que se va a conectar. Como alternativa, especifique `%h`, que extrae el ID de instancia del usuario. En el caso de instancias con una dirección IPv6, reemplace `--instance-id i-1234567890abcdef0` por `--private-ip-address 2001:db8::1234:5678:1.2.3.4`.

### Conexión múltiple
<a name="ssh-multi-connection"></a>

Para permitir varias conexiones a una instancia, primero ejecute el comando de AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) para iniciar la escucha de nuevas conexiones TCP y, a continuación, use `ssh` para crear una nueva conexión TCP y un túnel privado hacia la instancia.

**Para permitir varias conexiones a la instancia mediante SSH y el comando `open-tunnel`**

1. Ejecute el siguiente comando para iniciar la escucha de nuevas conexiones TCP en el puerto especificado del equipo local.

   ```
   aws ec2-instance-connect open-tunnel \
       --instance-id i-1234567890abcdef0 \
       --local-port 8888
   ```

   Resultado previsto:

   ```
   Listening for connections on port 8888.
   ```

1. En una *nueva ventana de terminal*, ejecute el comando `ssh` para crear una nueva conexión TCP y un túnel privado para la instancia.

   ```
   ssh -i my-key-pair.pem ec2-user@localhost -p 8888
   ```

   Salida esperada: en la *primera* ventana de terminal, aparecerá lo siguiente:

   ```
   [1] Accepted new tcp connection, opening websocket tunnel.
   ```

   Es posible que vea el siguiente código de error:

   ```
   [1] Closing tcp connection.
   ```

## Conéctese a la instancia de Linux con el ID de la instancia mediante la AWS CLI
<a name="eic-connect-using-cli"></a>

Si conoce solo el ID de la instancia, puede utilizar el comando de la CLI AWS CLI [ec2-instance-connect ssh](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) para conectarse a ella mediante un cliente SSH. Para obtener más información, consulte [Conexión mediante la AWS CLI](ec2-instance-connect-methods.md#connect-linux-inst-eic-cli-ssh).

**Requisitos previos**
+ Instale la versión 2 de la AWS CLI y configúrela con sus credenciales. Para obtener más información, consulte [Instalación o actualización de la versión más reciente de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) y [Configuración de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) en la *Guía del usuario de AWS Command Line Interface*.
+ Como alternativa, abra AWS CloudShell y ejecute los comandos de AWS CLI en el intérprete de comandos previamente autenticado.

**Para conectarse a una instancia mediante el ID de instancia y un punto de conexión de EC2 Instance Connect**  
Si solo conoce el ID de la instancia, use el comando [ec2-instance-connect ssh](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) de la CLI y especifique el comando `ssh`, el ID de la instancia y el parámetro `--connection-type` con el valor `eice` para usar un punto de conexión de EC2 Instance Connect. Si la instancia solo tiene una dirección IPv6, también debe incluir el parámetro `--instance-ip` con la dirección IPv6.
+ Si la instancia tiene una dirección IPv4 privada (también puede tener una dirección IPv6), use el siguiente comando y los siguientes parámetros:

  ```
  aws ec2-instance-connect ssh \
      --instance-id i-1234567890example \
      --os-user ec2-user \
      --connection-type eice
  ```
+ Si la instancia solo tiene una dirección IPv6, incluya el parámetro `--instance-ip` con la dirección IPv6.

  ```
  aws ec2-instance-connect ssh \
      --instance-id i-1234567890example \
      --instance-ip 2001:db8::1234:5678:1.2.3.4 \
      --os-user ec2-user \
      --connection-type eice
  ```

**sugerencia**  
Si se presenta un error, asegúrese de usar la versión 2 de AWS CLI. El parámetro `ssh` solo está disponible para la AWS CLI versión 2. Para obtener más información, consulte [Información AWS CLI sobre la versión 2](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html#welcome-versions-v2) en la *AWS Command Line InterfaceGuía del usuario*.

## Conectarse a una instancia de Windows mediante RDP
<a name="eic-connect-using-rdp"></a>

Puede usar el protocolo de escritorio remoto (RDP) a través del punto de conexión de EC2 Instance Connect para conectarse a una instancia de Windows sin una dirección IPv4 pública ni un nombre de DNS público.

**Para conectarse a la instancia de Windows mediante un cliente RDP**

1. Complete los pasos del 1 al 8 en [Conectarse a una instancia de Windows mediante RDP](connect-rdp.md). Tras descargar el archivo de escritorio de RDP en el paso 8, aparecerá el mensaje **No se puede conectar**, lo cual es de esperar porque la instancia no tiene una dirección IP pública.

1. Ejecute el siguiente comando para establecer un túnel privado hacia la VPC en la que se encuentra la instancia. `--remote-port` debe tener el valor `3389` porque RDP usa el puerto 3389 de forma predeterminada.

   ```
   aws ec2-instance-connect open-tunnel \
       --instance-id i-1234567890abcdef0 \
       --remote-port 3389 \
       --local-port any-port
   ```

1. En la carpeta **Descargas**, busque el archivo de escritorio de RDP que descargó y arrástrelo a la ventana del cliente de RDP.

1. Haga clic con el botón derecho en el archivo de escritorio de RDP y elija **Editar**.

1. En la ventana **Editar PC**, ingrese `localhost:local-port` en **Nombre del PC** (la instancia a la que conectarse), donde `local-port` utilizará el mismo valor que en el paso 2 y, a continuación, seleccione **Guardar**.

   Tenga en cuenta que la siguiente captura de pantalla de la ventana **Editar PC** procede de Escritorio remoto de Microsoft en un Mac. Si utiliza un cliente Windows, la ventana puede ser diferente.  
![\[El cliente RDP con el ejemplo “localhost:5555” en el campo de nombre del PC.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ec2-instance-connect-endpoint-rdp.png)

1. En el cliente RDP, haga clic con el botón derecho en el PC (que acaba de configurar) y elija **Conectar** para conectarse a su instancia.

1. En la solicitud, ingrese la contraseña descifrada de la cuenta de administrador.

## Solución de problemas
<a name="troubleshoot-eice"></a>

Utilice la siguiente información para diagnosticar y solucionar los problemas comunes que pueda encontrar al utilizar el punto de conexión de EC2 Instance Connect para conectar una instancia.

### No puede conectarse a su instancia
<a name="troubleshoot-eice-1"></a>

Los siguientes son los motivos habituales por los que es posible que no pueda conectarse a su instancia.
+ Grupos de seguridad: compruebe los grupos de seguridad asignados al punto de conexión de EC2 Instance Connect y su instancia. Para obtener más información acerca de las reglas de los grupos de seguridad obligatorios, consulte [Grupos de seguridad para el punto de conexión de EC2 Instance Connect](eice-security-groups.md).
+ Estado de instancia: compruebe que la instancia esté en el estado `running`.
+ Par de claves: si el comando que usa para conectarse requiere una clave privada, compruebe que la instancia tenga una clave pública y que dispone de la clave privada correspondiente.
+ Permisos de IAM: compruebe que dispone de los permisos de IAM necesarios. Para obtener más información, consulte [Concesión de permisos para el punto de conexión de EC2 Instance Connect](permissions-for-ec2-instance-connect-endpoint.md).

Para obtener más consejos de solución de problemas para instancias de Linux, consulte [Solución de problemas de conexión a la instancia de Linux de Amazon EC2](TroubleshootingInstancesConnecting.md). Para obtener más consejos de solución de problemas para instancias de Windows, consulte [Solución de problemas con la conexión a la instancia de Windows de Amazon EC2](troubleshoot-connect-windows-instance.md).

### ErrorCode: AccessDeniedException
<a name="troubleshoot-eice-2"></a>

Si aparece un error `AccessDeniedException` y la condición `maxTunnelDuration` se especifica en la política de IAM, asegúrese de especificar el parámetro `--max-tunnel-duration` al conectarse a una instancia. Para obtener más información sobre este parámetro, consulte [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) en la *Referencia de comandos de AWS CLI*.