Posibles motivos del tiempo de espera al intentar acceder a la instancia EC2


102

No puedo SSH en mi instancia - Se agotó el tiempo de espera de la operación. ¿Cuáles podrían ser las razones y qué puedo hacer para resolverlo? El reinicio normalmente tarda mucho en surtir efecto y puede empeorar las cosas

ACTUALIZACIÓN: No se trata de permisos, puedo iniciar sesión normalmente sin problemas. Sospecho que podría deberse a problemas de memoria.


3
Debería probar serverfault.com ya que esta no es realmente una pregunta de programación.
rwilliams

Cortafuegos SSH escuchando en ese puerto?
OMG Ponies

1
¿El problema persiste si lanza otra instancia? (También podría ser útil saber más sobre su configuración). Actualicé mi respuesta.
Jonik

primero haga ping al DNS. Si falla, configure sus reglas de entrada / salida en el asistente de inicio. configure TODO el tráfico y TODO el protocolo y simplemente guarde con las opciones predeterminadas. Haga ping de nuevo con su sistema local y luego debería funcionar.
Maiden

Respuestas:


67

¿Estableció un grupo de seguridad adecuado para la instancia? Es decir, uno que permita el acceso desde su red al puerto 22 de la instancia. (De forma predeterminada, no se permite todo el tráfico).

Actualización: Ok, no es un problema de grupo de seguridad. Pero, ¿persiste el problema si inicia otra instancia desde la misma AMI e intenta acceder a ella? Tal vez esta instancia EC2 en particular falló aleatoriamente de alguna manera; es solo cuestión de tiempo que suceda algo así. (Lectura recomendada: Architecting for the Cloud: Best Practices (PDF), un artículo de Jinesh Varia, un evangelista de servicios web en Amazon. Vea especialmente la sección titulada "Diseñe para fallar y nada fallará").


Esto es lo mismo en las preguntas frecuentes de EC2: developer.amazonwebservices.com/connect/… (Además ec2-authorize, puede usar la extensión Elasticfox Firefox para configurar fácilmente los grupos).
Jonik

1
Dios mío ... abrir el puerto SSH en el grupo es tan básico, no puedo creer que no esté aquí: alestic.com/2009/08/ec2-connectivity . Gracias por mencionarlo.
mtyson

¡Oh, me olvidé por completo del grupo de seguridad! ¡Gracias!
Antonio Beno

91

Tuve el mismo problema y la solución terminó agregando la IP de mi máquina local a la lista de reglas de entrada en el grupo de seguridad activo. En el cuadro de diálogo de entrada a continuación, ingrese 22 en el rango de puertos, su IP / 32 local en el campo de origen y deje 'regla tcp personalizada' en el menú desplegable.

ingrese la descripción de la imagen aquí


6
Después de presionar el botón 'agregar regla', también debe presionar 'aplicar cambio de regla' para que surta efecto. No olvide esto. Me arruinó un par de veces.
ted.strauss

¡Mil gracias por esto!
Hego555

¡Respuesta perfecta! Ya no tengo miedo de ser pirateado: D
softvar

2
esto funcionó para mí, gracias !! Por alguna razón, mi dirección IP cambió y, de repente, no pude acceder a mi instancia ec2. Acabo de agregar una regla, y en lugar de poner una dirección IP "personalizada", simplemente seleccioné 'mi IP' y wala ... ¡pude ingresar!
rikkitikkitumbo

¡Buena respuesta! También encontré esta solución de problemas de AWS muy útil, y contiene el punto sugerido aquí arriba.
J0ANMM

28

Destruye y crea de nuevo

Tenía una zona de disponibilidad donde podía conectarme y otra donde no podía. Después de unas horas, me frustré tanto que borré todo lo que había en esa zona de disponibilidad.

Construyendo todo de nuevo tenía que asegurarme de crear TODO. Esto incluyó:

  • Crear VPC
    • CIDR: 10.0.0.0/24
  • Crear puerta de enlace de Internet
  • Adjuntar Internet Gateway a la VPC
  • Crear tabla de enrutamiento
  • Agregar ruta a la tabla de enrutamiento
    • Destination: 0.0.0.0/0
    • Target: <Internet Gateway from earlier>
  • Crear subred
    • CIDR: 10.0.0.0/24
    • Routing Table: <Routing Table from earlier

Me tomó MUCHO torpeza conseguir todo esto. Ordené los pasos de la manera que creo que podría ser más eficiente, pero es posible que deba ajustarlos para que un elemento esté disponible para el siguiente.

Sugerencia

No estoy sugiriendo que se convierta en termo nuclear como yo. Te ofrezco toda esta información para que puedas comprobar estas asociaciones y asegurarte de que las tuyas son las adecuadas.


6
¡Esto realmente me ayudó! Tuve un caso en el que mi tabla de enrutamiento no apuntaba a una puerta de enlace de Internet y ese fue el único problema.
EdgeCaseBerg

Honestamente, documenté estas cosas en SO y en github / gists porque sé que me patearé cuando necesite hacerlo nuevamente en 2 meses. Espero que también ayude a otros. Pero en última instancia, solo soy un desastre egoísta. Gracias por tomarse el tiempo para comentar, @EdgeCaseBerg.
Bruno Bronosky

2
Gracias un TON @BrunoBronosky. Exactamente, si esa cosa de "puerta de enlace de Internet" es así, ¿por qué la documentación predeterminada de AWS no lo menciona? :(
Anand

1
@BrunoBronosky ¡gracias! Esto es exactamente lo que me impedía conectarme a la instancia. Guardaré estos pasos para mi futuro yo.
saiyancoder

21

Esta respuesta es para los tontos (como yo). El DNS público de su EC2 podría (cambiará) cuando se reinicie. Si no se da cuenta de esto e intenta SSH en su antiguo DNS público, la conexión se detendrá y expirará. Esto puede llevarlo a asumir que algo está mal con su EC2 o grupo de seguridad o ... No, solo SSH en el nuevo DNS. ¡Y actualice su ~/.ssh/configarchivo si es necesario!


Una hora solucionando mis problemas de tiempo de espera y esta fue la solución. Gracias :)
Eric D. Brown

2
Muchas gracias @dslosky me salvaste la vida. :)
A_01

13

Para conectarse use ssh así:

ssh -i keyname.pem username@xxx.xx.xxx.xx

Donde keyname.pemestá el nombre de su clave privada, usernamees el nombre de usuario correcto para la distribución de su sistema operativo y xxx.xx.xxx.xxes la dirección IP pública.

Cuando se agota el tiempo de espera o falla, verifique lo siguiente:

Grupo de seguridad

Asegúrese de tener una regla de entrada para el puerto tcp 22 y para todos los ips o su ip. Puede encontrar el grupo de seguridad a través del menú ec2, en las opciones de instancia.

Tabla de ruteo

Para una nueva subred en un vpc, debe cambiar a una tabla de enrutamiento que apunte 0.0.0.0/0 al destino de la puerta de enlace de Internet . Cuando crea la subred en su vpc, de forma predeterminada asigna la tabla de enrutamiento predeterminada, que probablemente no acepta el tráfico entrante de Internet. Puede editar las opciones de la tabla de enrutamiento en el menú vpc y luego en las subredes.

IP elástica

Para una instancia en un vpc, debe asignar una dirección IP pública elástica y asociarla con la instancia. No se puede acceder a la dirección IP privada desde el exterior. Puede obtener una ip elástica en el menú ec2 (no en el menú de instancia).

Nombre de usuario

Asegúrate de estar usando el nombre de usuario correcto . Debe ser uno de ec2-usero rooto ubuntu. Pruébelos todos si es necesario.

Llave privada

Asegúrate de estar usando la clave privada correcta (la que descargas o eliges al iniciar la instancia). Parece obvio, pero copiar y pegar me consiguió dos veces.


1
Gracias por esto, siempre me olvido de agregar 0.0.0.0/0 al destino de la puerta de enlace de Internet cuando creo una nueva VPC
Chathushka

7

¿Ha mirado la salida de la consola de la instancia? Puede hacerlo a través de la consola de AWS (Instancias -> Haga clic con el botón derecho en la instancia -> Obtener registro del sistema). He tenido ocasiones en las que los servicios de red en una instancia EC2 no se iniciaron correctamente, lo que resultó en conexiones SSH agotadas; reiniciar la instancia generalmente solucionó las cosas.


3

ingrese la descripción de la imagen aquí

DESPUÉS DE 2 HORAS ENCONTRÉ ESTO

Tenga en cuenta que ssh ip 120.138.105.251/32

  • NO ES DIRECCIÓN IP de instancia de AWS

  • No es tu ip local 127.0.0.1

  • No es tu ip local localhost

PERO PERO PERO

Es su dirección IP pública de su computadora personal desde la que intenta acceder a la instancia de aws

  1. Vaya a https://www.whatismyip.com/ cualquier dirección IP que ponga en ssh

SI QUIERES ABRIR COMPLETAMENTE SSH A TODAS LAS DIRECCIONES IP ingrese la descripción de la imagen aquí

ASÍ SE VE TOTALMENTE ACCESIBLE LAS ENTRADAS - BÁSICO RECOMENDADO ingrese la descripción de la imagen aquí

ESTO ES LO QUE ESTOY UTILIZANDO EN PRODUCCIÓN ingrese la descripción de la imagen aquí


2

Los siguientes son posibles problemas:

  • Lo más probable es que el grupo de seguridad no esté configurado correctamente para proporcionar acceso SSH en el puerto 22 a su ip El cambio en la configuración de seguridad no requiere reiniciar el servidor para que sea efectivo, pero debe esperar unos minutos para que sea efectivo. aplicable.

  • La configuración del firewall local no permite el acceso SSH al servidor. (puede probar una conexión a Internet diferente, su teléfono / dongle para probarlo)

  • El servidor no se inicia correctamente (las comprobaciones de acceso fallarán incluso en la consola de Amazon), en cuyo caso deberá detener e iniciar el servidor.


En mi caso, fue un problema de firewall en la red en la que trabajo. Usar una VPN para circunnavegar funcionó.
MDave

1

Consulte esta página de ayuda en los documentos de AWS:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout Probablemente encontrará su solución allí. para mí esta parte hizo la solución:

[EC2-VPC] Verifique la tabla de enrutamiento de la subred. Necesita una ruta que envíe todo el tráfico destinado fuera de la VPC a la puerta de enlace de Internet de la VPC.

  • Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/ .

  • En el panel de navegación, elija Internet Gateways. Verifique que haya una puerta de enlace de Internet conectada a su VPC. De lo contrario, elija Create Internet Gateway y siga las instrucciones para crear una puerta de enlace de Internet, seleccione la puerta de enlace de Internet y luego elija Attach to VPC y siga las instrucciones para adjuntarla a su VPC.

  • En el panel de navegación, elija Subredes y luego seleccione su subred.

  • En la pestaña Tabla de rutas, verifique que haya una ruta con 0.0.0.0/0 como destino y la puerta de enlace de Internet para su VPC como destino. De lo contrario, elija el ID de la tabla de rutas (rtb-xxxxxxxx) para navegar a la pestaña Rutas de la tabla de rutas, elija Editar, Agregar otra ruta, ingrese 0.0.0.0/0 en Destino, seleccione su puerta de enlace de Internet en Destino y luego elija Guardar.

Pero le sugiero que consulte todas las opciones que cubre el enlace anterior, puede encontrar allí uno o más problemas que tiene.


1

Mi problema: tenía el puerto 22 abierto para "Mi IP" y cambié la conexión a Internet y el cambio de dirección IP causado. Así que tuve que volver a cambiarlo.


1

Partiendo de @ted.straussla respuesta, puede seleccionar SSHy MyIPdel menú desplegable en lugar de navegar a un sitio de terceros.


1

Simplemente reinicie la instancia Ec2 una vez que haya aplicado las reglas


1

Permita ssh y el puerto 22 desde ufw, luego habilítelo y verifique con el comando de estado

sudo ufw allow ssh
sudo ufw allow 22
sudo ufw enable
sudo ufw status

0

Una posibilidad más. Los grupos de seguridad de AWS están configurados para funcionar solo con direcciones IP entrantes específicas. Si su grupo de seguridad está configurado de esta manera, usted (o el titular de la cuenta) deberá agregar su dirección IP al grupo de seguridad. Todo esto, abra su panel de AWS, seleccione grupos de seguridad, seleccione un grupo de seguridad y haga clic en la pestaña de entrada. Luego agregue su IP según corresponda.


0

Tuve el mismo problema y la solución fue permitir el acceso desde cualquier lugar a la lista de reglas de entrada en el grupo de seguridad activo. En el cuadro de diálogo de entrada, ingrese 22 en el rango de puertos, en cualquier lugar del campo de origen, y seleccione 'ssh' en el menú desplegable.

PD: Es posible que esta no sea la solución recomendada, ya que significa que esta instancia se puede ssh'ed desde cualquier máquina, pero no pude hacer que funcione con mi IP local.


0

Tuve un problema similar cuando estaba usando Wifi público, que no tenía contraseña. Cambiar la conexión de Internet a una conexión segura resolvió el problema.


0

Si el acceso SSH no funciona para su instancia EC2, debe verificar:

  • El grupo de seguridad de su instancia permite el acceso SSH entrante (verifique: ver reglas ).

Si está utilizando una instancia de VPC (tiene el ID de VPC y el ID de subred adjuntos a su instancia), verifique:

  1. En el Panel de VPC, busque el ID de subred usado que está adjunto a su VPC.
  2. Verifique su tabla de ruta adjunta que debe tener 0.0.0.0/0como destino y su puerta de enlace de Internet como destino.

En Linux, también puede verificar la información de ruta en el registro del sistema en redes de la instancia, por ejemplo:

++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
+--------+------+------------------------------+---------------+-------+-------------------+
| Device |  Up  |           Address            |      Mask     | Scope |     Hw-Address    |
+--------+------+------------------------------+---------------+-------+-------------------+
|   lo   | True |          127.0.0.1           |   255.0.0.0   |   .   |         .         |
|  eth0  | True |         172.30.2.226         | 255.255.255.0 |   .   | 0a:70:f3:2f:82:23 |
+--------+------+------------------------------+---------------+-------+-------------------+
++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++
+-------+-------------+------------+---------------+-----------+-------+
| Route | Destination |  Gateway   |    Genmask    | Interface | Flags |
+-------+-------------+------------+---------------+-----------+-------+
|   0   |   0.0.0.0   | 172.30.2.1 |    0.0.0.0    |    eth0   |   UG  |
|   1   |   10.0.3.0  |  0.0.0.0   | 255.255.255.0 |   lxcbr0  |   U   |
|   2   |  172.30.2.0 |  0.0.0.0   | 255.255.255.0 |    eth0   |   U   |
+-------+-------------+------------+---------------+-----------+-------+

donde las UGbanderas le muestran su puerta de enlace de Internet.

Para obtener más detalles, consulte: Solución de problemas de conexión a su instancia en Amazon docs.


0

Para habilitar el acceso ssh desde Internet para instancias en una subred de VPC, haga lo siguiente:

  • Conecte una puerta de enlace de Internet a su VPC.
  • Asegúrese de que la tabla de rutas de su subred apunte a la puerta de enlace de Internet.
  • Asegúrese de que las instancias de su subred tengan una dirección IP única a nivel mundial (dirección IPv4 pública, dirección IP elástica o dirección IPv6).
  • Asegúrese de que su control de acceso a la red (a nivel de VPC) y las reglas del grupo de seguridad (a nivel ec2) permitan que el tráfico relevante fluya hacia y desde su instancia. Asegúrese de que la dirección IP pública de su red esté habilitada para ambos. De forma predeterminada, Network AcL permite todo el tráfico entrante y saliente, excepto que se configure explícitamente de otro modo

0

Para mí, fue el servidor apache alojado en una instancia EC2 t2.micro linux, no la instancia EC2 en sí.

Lo arreglé haciendo:

sudo su

service httpd restart


0

Tuve el mismo problema y lo resolví agregando una regla a los Grupos de seguridad

SSH entrante 0.0.0.0/0

O puede agregar su dirección IP solamente


0

Para mí, fue que borré todo del volumen de arranque. Y ya no podía conectarse a la instancia.


0

Estaba trabajando en la instancia y estaba bien, al día siguiente, cuando intenté SSH en mi instancia, decía: Tiempo de espera de conexión.

Traté de leer esta publicación pero nada funcionó. Así que lo hice -

En la Edit inbound rulescolumna de origen, elija MY IPy automáticamente completará su dirección IP pública en formato CIDR ( XXX.XXX.XXX.XX/32).

Intenté con la respuesta @ ted.strauss dando una IP local pero no ayudó en mi caso. Así que elegí MI IP y funcionó.

¡Espero que esto ayude a alguien!


0

primero haga ping al DNS. Si falla, configure sus reglas de entrada / salida en el asistente de inicio. configure TODO el tráfico y TODO el protocolo y simplemente guarde con las opciones predeterminadas. Haga ping de nuevo con su sistema local y luego debería funcionar


0

Si acaba de crear una nueva instancia y no puede conectarse a ella, pude resolver el problema finalizando esa y creando una nueva. Por supuesto, esto solo funcionará si es una instancia nueva y no ha trabajado más en ella.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.