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.
-
El punto de conexión de EC2 Instance Connect debe estar en el estado Disponible (consola) o
create-complete
(AWS CLI). Si no tiene un punto de conexión de EC2 Instance Connect para su VPC, puede crear uno. Para obtener más información, consulte Creación de un punto de conexión de EC2 Instance Connect. -
La instancia debe tener una dirección IPv4 (pública o privada). El punto de conexión de EC2 Instance Connect no admite la conexión a instancias mediante direcciones 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.
-
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.
Opciones de conexión
Conexión a la instancia de Linux con la consola de Amazon EC2
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
-
Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/
. -
En el panel de navegación, seleccione Instances (Instancia[s]).
-
Seleccione la instancia y, a continuación, elija Connect.
-
Elija la pestaña EC2 Instance Connect.
-
En Tipo de conexión, elija Conectarse a una instancia mediante el punto de conexión de EC2 Instance Connect.
-
En Punto de conexión de EC2 Instance Connect, elija el ID del punto de conexión de EC2 Instance Connect.
-
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. -
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. -
Elija Conectar. Esto abre una ventana de terminal para la instancia.
Conexión a la instancia de Linux con SSH
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.
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.
El siguiente ejemplo usa OpenSSH
Conexión única de
Para permitir solo una conexión a una instancia mediante SSH y el comando open-tunnel
Utilice ssh
y el comando de AWS CLI open-tunnel-o
incluye el comando open-tunnel
que crea el túnel privado hacia la instancia.
ssh -i
my-key-pair
.pemec2-user
@i-0123456789example
\ -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-idi-0123456789example
'
Para:
-
-i
: especifique el par de claves que se usó para iniciar la instancia. -
: especifique el nombre de usuario de la AMI que se usó para iniciar la instancia y el ID de la instancia.ec2-user
@i-0123456789example
-
--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.
Conexión múltiple
Para permitir varias conexiones a una instancia, primero ejecute el comando de AWS CLI open-tunnelssh
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
-
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-0123456789example
\ --local-port8888
Resultado previsto
Listening for connections on port 8888.
-
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 -p8888
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.
Conexión a la instancia de Linux con la AWS CLI
Si conoce solo el ID de la instancia, puede utilizar el comando ec2-instance-connect
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 y Configuración de AWS CLI 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, utilice el comando de CLI ec2-instance-connectssh
, el ID de la instancia y el parámetro --connection-type
con el valor eice
.
aws ec2-instance-connect ssh --instance-id
i-1234567890example
--os-userec2-user
--connection-type eice
sugerencia
Si aparece un error al usar este comando, asegúrese de que usa la AWS CLI versión 2. 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 en la AWS Command Line InterfaceGuía del usuario.
Conexión a una instancia de Windows de mediante RDP
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
-
Complete los pasos del 1 al 8 en Conectarse a una instancia de Windows mediante RDP. 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.
-
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 valor3389
porque RDP usa el puerto 3389 de forma predeterminada.aws ec2-instance-connect open-tunnel \ --instance-id
i-0123456789example
\ --remote-port 3389 \ --local-portany-port
-
En la carpeta Descargas, busque el archivo de escritorio de RDP que descargó y arrástrelo a la ventana del cliente de RDP.
-
Haga clic con el botón derecho en el archivo de escritorio de RDP y elija Editar.
-
En la ventana Editar PC, ingrese
localhost:
en Nombre del PC (la instancia a la que conectarse), dondelocal-port
utilizará el mismo valor que en el paso 2 y, a continuación, seleccione Guardar.local-port
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.
-
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.
-
En la solicitud, ingrese la contraseña descifrada de la cuenta de administrador.
Solución de problemas
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
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.
-
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.
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. 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.
ErrorCode: AccessDeniedException
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 open-tunnel