amazon-web-services eb - SSH a la instancia de Elastic Beanstalk




into for (9)

También me encontré con el mismo problema hace un tiempo. Quería usar el archivo de claves, pero Amazon dice que no se puede agregar un archivo de claves a un servidor EC2 existente. Para la primera aplicación Beanstalk, Amazon preconfigura la aplicación por usted. Debe crear una nueva aplicación, y puede configurar el servidor EC2 que ejecuta la aplicación Beanstalk para usar un archivo pem antiguo (ppk si usa Putty), o puede crear uno nuevo. Ahora deberías poder SSH.

Luego configura, luego borra tu aplicación anterior.

Me acabo de inscribir en la nueva oferta Elastic Beanstalk de Amazon. Lo que no puedo entender es cómo SSH a una instancia de Beanstalk. No tengo una clave privada porque Beanstalk generó la instancia en mi nombre.


La dirección para establecer el par de claves para una instancia de ElasticBeanstalk ec2 con la interfaz de usuario actual es: Advertencia: Esto requerirá una actualización de las instancias de EC2 en su aplicación ElasticBeanstalk. Nota: Necesitará haber creado un par de claves en el panel de EC2 antes de esto.

1) En AWS Dashboard, seleccione el servicio ElasticBeanstalk 2) Seleccione la aplicación que desea usar. 3) Seleccione 'Configuración' 4) Seleccione el icono de engranaje (configuración) en el cuadro de configuración 'Instancias'. 5) Esto lo llevará a una página titulada 'Servidor', donde puede actualizar el campo desplegable 'Par de claves EC2' con su par de claves deseado y seleccionar 'Guardar'.

Una cosa a tener en cuenta es que esto puede no funcionar con aplicaciones con múltiples instancias (pero creo que es probable que todas estén en la misma región que el par de claves).


Elastic beanstalk CLI v3 ahora admite SSH directo con el comando eb ssh . P.ej

eb ssh your-environment-name

No es necesario tener la molestia de configurar grupos de seguridad para encontrar la dirección de instancia de EC2.

También hay un truco genial:

eb ssh --force

Eso forzará temporalmente el puerto 22 a abrirse a 0.0.0.0, y lo mantendrá abierto hasta que exit . Esto combina un poco de los beneficios de la respuesta superior, sin la molestia. Puede otorgar temporalmente a alguien que no sea el acceso para la depuración y otras cosas. Por supuesto, todavía tendrá que cargar su clave pública en el host para que puedan tener acceso. Una vez que haces eso (y mientras estés dentro de eb ssh ), la otra persona puede

ssh [email protected]

Me pareció un proceso de 2 pasos. Esto supone que ya ha configurado un par de llaves para acceder a las instancias de EC2 en la región correspondiente.

Configurar grupo de seguridad

  1. En la consola de AWS, abra la pestaña EC2.
  2. Seleccione la región correspondiente y haga clic en Grupo de seguridad.
  3. Debería tener un grupo de seguridad elasticbeanstalk-default si ha lanzado una instancia de Elastic Beanstalk en esa región.
  4. Edite el grupo de seguridad para agregar una regla para el acceso SSH. Lo siguiente lo bloqueará para permitir solo el ingreso desde una dirección IP específica.

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

Configure el entorno de su aplicación Elastic Beanstalk

  1. Si aún no ha creado un par de claves, haga una haciendo clic en Pares de claves debajo de Grupo de seguridad en la pestaña ec2.
  2. En la consola de AWS, abra la pestaña Elastic Beanstalk.
  3. Seleccione la región correspondiente.
  4. Seleccione el ambiente relevante
  5. Seleccione Configuraciones en el panel izquierdo.
  6. Seleccione instancias.
  7. Debajo de "EC2 key pair:", seleccione el nombre de su par de Existing Key Pair campo Existing Key Pair .

Una vez que la instancia se haya reiniciado, debe obtener el nombre del host desde la pestaña de instancias de la consola AWS EC2, o mediante la API. A continuación, debe poder ssh en el servidor.

$ ssh -i path/to/keypair.pub [email protected]

Nota: para agregar un par de llaves a la configuración del entorno, la protección de terminación de las instancias debe estar desactivada, ya que Beanstalk intentaría terminar las instancias actuales e iniciar nuevas instancias con KeyPair.

Nota: si algo no funciona, revise la pestaña "Eventos" en la aplicación / entornos Beanstalk y averigüe qué fue lo que no funcionó.


Mi experiencia en agosto de 2013 con un cliente de Linux y una instalación simple de AWS Beanstalk (instancia única de EC2) es la siguiente (basada en la Comunidad Wiki más arriba)

Configurar grupo de seguridad

  1. En la consola de AWS, seleccione EC2 para ir al Panel de EC2
  2. Descubra el grupo de seguridad al que pertenece su instancia de EC2 haciendo clic en Instancias en el panel de la izquierda y luego seleccionando la instancia a la que desea conectarse (en mi caso, solo hay una, llamada Entorno predeterminado). Los detalles se muestran en la base de la página - Debería ver un campo para Grupos de seguridad - anote el nombre - en mi caso "awsweb ...".
  3. En el panel de la izquierda, seleccione Grupos de seguridad.
  4. Seleccione el grupo de seguridad awsweb... y los detalles se mostrarán en la base de la página.
  5. Seleccione la pestaña Entrante y elija SSH en el menú desplegable "Crear una nueva regla". Inserte la dirección IP / CIDR de su máquina local (desde la que desea conectarse), por ejemplo, 192.168.0.12/32 y haga clic en Agregar regla y Aplicar cambios de regla.

Crear un par de claves público-privadas

  1. Desde el panel de EC2, seleccione Key Pairs desde el panel de la izquierda
  2. Haga clic en Key Pair (en la parte superior) e ingrese un nombre como myname-key-pair-myregion o el nombre de clave válido que desee.
  3. Confirme y luego acepte la descarga de la clave privada desde el navegador guardándola, por ejemplo, en su directorio de inicio o en cualquier lugar que desee. Asegúrese de que el directorio solo tenga permisos de escritura para usted.

Asocie el par de claves privadas públicas con el servidor EC2 de Elastic Beanstalk

  1. Para agregar un par de claves públicas y privadas a una instancia de Elastic Beanstalk EC2, haga lo siguiente: Servicios -> Elastic Beanstalk -> Mi aplicación -> Entorno predeterminado lo lleva al entorno predeterminado (el que carga su aplicación)
  2. Haga clic en Configuración (en el panel de la izquierda) y luego en el engranaje / engranaje asociado con "Instancias"
  3. Se muestra una página titulada "Servidor"
  4. Seleccione su par de claves precompiladas desde el par de claves EC2 y haga Guardar
  5. Se muestra algún mensaje de advertencia, así que vuelve a guardar.

Conéctese a la instancia de AWS EC2 utilizando SSH

  1. En una sesión de terminal, cambie al directorio que contiene su clave privada (archivo .pem).
  2. Si has tenido algunos intentos, probablemente deberías hacer algo con respecto a .ssh / known_hosts si tienes uno como cambiarle el nombre. De lo contrario, puede obtener un error acerca de que la identidad del host haya cambiado.
  3. Hacer: ssh -i ./myname-key-pair-my-region.pem [email protected]

Buena suerte


Hay una opción práctica 'Conectar' en el menú 'Acciones de instancia' para la instancia de EC2. Le dará el comando SSH exacto para ejecutar con la url correcta para la instancia. Las instrucciones generales de Jabley son correctas.



Debe conectarse a la instancia ec2 directamente usando su dirección IP pública. No se puede conectar utilizando la url elasticbeanstalk.

Puede encontrar la dirección IP de la instancia buscándola en la consola ec2.

También debe asegurarse de que el puerto 22 esté abierto. De forma predeterminada, el EB CLI cierra el puerto 22 después de que se completa una conexión ssh. Puede llamar a eb ssh -o para mantener el puerto abierto una vez finalizada la sesión ssh.

Advertencia: debe saber que el beanstalk elástico podría reemplazar su instancia en cualquier momento. El estado no está garantizado en ninguna de sus instancias elásticas de beanstalk. Probablemente sea mejor usar ssh solo para fines de prueba y depuración, ya que todo lo que modifique puede desaparecer en cualquier momento.


Esto me ha pasado muchas veces. He utilizado Amazon Linux AMI 2013.09.2 y Ubuntu Server 12.04.3 LTS que están en el nivel gratuito.

Cada vez que lanzo una instancia, tengo permiso denegado para aparecer. No he verificado esto, pero mi teoría es que el servidor no está completamente configurado antes de intentar insertarlo. Después de algunos intentos con permiso denegado, espero unos minutos y luego puedo conectarme. Si tiene este problema, le sugiero que espere cinco minutos y vuelva a intentarlo.





amazon-web-services amazon-ec2 ssh amazon-elastic-beanstalk