refused publickey ppk por permission our instancia ec2 conectarse conectar aws acceso ssh amazon-ec2 amazon-web-services

ssh - publickey - Posibles motivos de tiempo de espera al intentar acceder a la instancia de EC2



putty aws (17)

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

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


Destruye y crea de nuevo

Tenía una zona de disponibilidad donde podía conectarme y otra donde no podía conectarme. Después de unas horas me sentí tan frustrado que borré todo en esa zona de disponibilidad.

Reconstruyendo todo, tuve que asegurarme de crear TODO. Esto incluyó:

  • Crear VPC
    • CIDR: 10.0.0.0/24
  • Crear una pasarela de Internet
  • Adjunte la puerta de enlace de Internet a 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 buscar a tientas todo esto. He ordenado los pasos de la forma que creo que podría ser más eficiente, pero es posible que tengas que ajustarlos para tener un elemento disponible para el siguiente.

Sugerencia

No estoy sugiriendo que seas termo nuclear como yo. Ofrezco toda esta información para que pueda verificar estas asociaciones y asegurarse de que las suyas sean apropiadas.


¿Estableciste un grupo de seguridad apropiado para la instancia? Es decir, uno que permite el acceso desde su red al puerto 22 de la instancia. (Por defecto, 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 eso? Tal vez esta instancia particular de EC2 simplemente fracasó al azar de alguna manera, es cuestión de tiempo que algo así suceda. (Lectura recomendada: Arquitecturas para la nube: mejores prácticas (PDF), un artículo de Jinesh Varia que es un evangelista de servicios web en Amazon. Consulte especialmente la sección titulada "Diseñe para el fracaso y nada fallará").


¿Has mirado la salida de la consola desde la instancia? Puede hacerlo a través de la consola de AWS (Instancias -> Hacer 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 de EC2 no pudieron iniciarse correctamente, lo que provocó que se agotaran las conexiones SSH; reiniciar la instancia usualmente solucionó las cosas.


Basándose en la respuesta de @ted.strauss , puede seleccionar SSH y MyIP del menú desplegable en lugar de navegar a un sitio de terceros.


Consulte esta página de ayuda en 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 rutas para la subred. Necesita una ruta que envíe todo el tráfico destinado fuera de la VPC a la puerta de enlace de Internet para 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 adjunta a su VPC. De lo contrario, elija Crear una puerta de enlace de Internet y siga las instrucciones para crear una puerta de enlace de Internet, seleccione la puerta de enlace de Internet y luego elija Adjuntar a 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 la ID de la tabla de rutas (rtb-xxxxxxxx) para navegar a la pestaña Rutas para la tabla de rutas, elija Editar, Agregue otra ruta, ingrese 0.0.0.0/0 en Destino, seleccione su puerta de enlace de Internet desde Destino y luego elige Guardar.

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


Esta respuesta es para la gente tonta (como yo). El DNS público de su EC2 podría (cambiará) cuando se reinicie. Si no te das cuenta de esto e intentas conectar SSH a tu DNS público anterior, la conexión se detendrá y finalizará. Esto puede llevarlo a suponer que algo está mal con su EC2 o grupo de seguridad o ... No, solo SSH en el nuevo DNS. ¡Y actualice su archivo ~/.ssh/config si es necesario!


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 un reinicio del servidor para que sea efectivo, pero necesita esperar unos minutos para que sea 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 (entonces las comprobaciones de acceso fallarán incluso en la consola de Amazon), en cuyo caso deberá detener e iniciar el servidor.


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 cambiarlo de nuevo.


Para conectarte usa ssh así:

ssh -i keyname.pem [email protected]

Donde keyname.pem es el nombre de su clave privada, username es el nombre de usuario correcto para su distribución de os, y xxx.xx.xxx.xx es la dirección IP pública.

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

Grupo de seguridad

Asegúrese de tener una regla de entrada para el puerto 22 de tcp y todas las 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 del portal de Internet . Cuando crea la subred en su vpc, de manera predeterminada asigna la tabla de enrutamiento predeterminada, que probablemente no acepte 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 vpc, debe asignar una dirección IP elástica pública y asociarla a la instancia. No se puede acceder a la dirección IP privada desde afuera. Puede obtener una ip elástica en el menú ec2 (no en el menú de instancias).

Nombre de usuario

Asegúrate de estar usando el nombre de usuario correcto . Debe ser uno de ec2-user o root o ubuntu . Pruébalos todos si es necesario.

Llave privada

Asegúrese de estar utilizando la clave privada correcta (la que descarga o elige al iniciar la instancia). Parece obvio, pero copiar pegar me consiguió dos veces.


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

  • Adjunte una puerta de enlace de Internet a su VPC.
  • Asegúrese de que la tabla de rutas de su subred apunta 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 el control de acceso a la red (a nivel 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 explícitamente configurado de otra manera

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

Lo arreglé haciendo:

sudo su

service httpd restart


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

  • Security Group para su instancia está permitiendo el acceso SSH entrante (verificar: ver las reglas ).

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

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

En Linux, también puede verificar la información de la ruta en el registro del sistema en la red 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 banderas de UG te muestran tu puerta de enlace de internet.

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


Tuve el mismo problema, y ​​la solución permitía el acceso desde cualquier parte a la lista de reglas de entrada en el grupo de seguridad activo. En el cuadro de diálogo entrante, ingrese 22 en el rango del puerto, en cualquier parte del campo fuente, y seleccione ''ssh'' en el menú desplegable.

PD: Esta podría no ser la solución recomendada, ya que significa que esta instancia puede ser ssh''ed desde cualquier máquina, pero no pude hacer que funcionara con mi IP local.


Tuve el mismo problema, y ​​la solución terminó añadiendo 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.


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


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 abre su panel de AWS, selecciona grupos de seguridad, selecciona un grupo de seguridad y haz clic en la pestaña de entrada. A continuación, agregue su IP según corresponda.


DESPUÉS DE 2 HORAS ENCONTRÉ ESTE

Tenga en cuenta que ssh ip 120.138.105.251/32

  • NO ES una instancia de aws IP ADDRESS

  • No es tu ip local 127.0.0.1

  • No es tu local 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 puesta en ssh

SI QUIERES ABRIR COMPLETAMENTE SSH A TODAS LAS DIRECCIONES IP

ESTO ES CÓMO LAS ENTRADAS TOTALMENTE ACCESIBLES MIRAN - RECONENDADO BÁSICO

ESTO ES LO QUE ESTOY USANDO EN PRODUCCIÓN