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.
amazon-web-services
amazon-ec2
ssh
amazon-elastic-beanstalk
Benno Waldmann
fuente
fuente
eb ssh
Respuestas:
Me pareció un proceso de 2 pasos. Esto supone que ya ha configurado un par de claves para acceder a instancias EC2 en la región relevante.
Configurar grupo de seguridad
elasticbeanstalk-default
grupo de seguridad si ha lanzado una instancia de Elastic Beanstalk en esa región.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.
Configure el entorno de su aplicación Elastic Beanstalk
Existing Key Pair
campo.Una vez que se ha relanzado la instancia, debe obtener el nombre de host de la pestaña de instancias de AWS Console EC2 o mediante la API. Entonces debería poder ssh en el servidor.
Nota: Para agregar un par de claves 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 el KeyPair.
Nota: Si algo no funciona, revise la pestaña "Eventos" en la aplicación / entornos Beanstalk y descubra qué salió mal.
fuente
Elastic beanstalk CLI v3 ahora admite SSH directo con el comando
eb ssh
. P.ejNo es necesario toda la molestia de configurar grupos de seguridad para encontrar la dirección de la instancia EC2.
También hay este truco genial:
Eso forzará temporalmente el puerto 22 abierto a 0.0.0.0, y lo mantendrá abierto hasta usted
exit
. Esto combina un poco de los beneficios de la respuesta principal, sin la molestia. Puede otorgar temporalmente a alguien que no sea usted acceso para la depuración y demás. Por supuesto, aún tendrá que cargar su clave pública al host para que tenga acceso. Una vez que haces eso (y mientras estés dentroeb ssh
), la otra persona puedefuente
eb ssh production
. También puede configurar un entorno específico con la opción de configuración:eb ssh production --setup
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 (según el Wiki de la comunidad anterior)
Configurar grupo de seguridad
awsweb...
grupo de seguridad y los detalles deben aparecer en la base de la páginaCrear par de claves pública-privada
Asociar el par de claves públicas privadas con el servidor Elastic Beanstalk EC2
Conéctese a la instancia de AWS EC2 con SSH
Buena suerte
fuente
He estado jugando con esto también.
El servicio se relanzará, así que prepara un café durante 5 minutos.
En su pestaña ec2 para la misma región, verá su nueva instancia en ejecución. ssh al nombre público de dns como usuario ec2 utilizando la clave agregada en 3, por ejemplo, ssh [email protected]
fuente
Hay una práctica opción 'Conectar' en el menú 'Acciones de instancia' para la instancia EC2. Le dará el comando SSH exacto para ejecutar con la url correcta para la instancia. Las instrucciones generales de Jabley son correctas.
fuente
Las respuestas anteriores son un poco viejas.
Primero cree un par de claves y luego adjúntelo al entorno Elastic Beanstalk.
Pasos para crear un par de claves
Pasos para adjuntar el par de claves creado al entorno Elastic Beanstalk
AWS -> Servicios -> Elastic Beanstalk
Seleccione su entorno y haga clic en la configuración de la izquierda.
En Descripción general de la configuración, seleccione modificar en Seguridad.
En Permisos de máquina virtual, seleccione el par de claves que creamos.
Haga clic en guardar y luego en guardar configuración.
Esto tomará un tiempo para reflejarse en su instancia EC2.
fuente
Si está utilizando bean bean y EB CLI, solo use
eb ssh
para iniciar sesión en la instancia. Puede usar las opciones como se especifica en el siguiente enlace http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.htmlfuente
Debe conectarse a la instancia ec2 directamente utilizando su dirección IP pública. No puedes conectarte usando la URL de 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, la CLI de EB 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 después de que se complete 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.
fuente
La dirección para establecer el par de claves para una instancia de ElasticBeanstalk ec2 con la IU actual es: Advertencia: Esto requerirá una actualización de las instancias de EC2 en su aplicación ElasticBeanstalk. Nota: Antes de esto, deberá haber creado un par de claves en el panel de EC2.
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 para aplicaciones con múltiples instancias (pero creo que es probable si todas están en la misma región que el par de claves).
fuente
Vine aquí buscando una manera de agregar una clave a una instancia que Beanstalk crea durante el aprovisionamiento (estamos usando Terraform). Puede hacer lo siguiente en Terraform:
Luego puede usar esa clave para SSH en el cuadro.
fuente
Si ha configurado la CLI utilizando
eb init
su entorno, entonces debería ser tan simple comoeb ssh --setup
que le permitirá crear un nuevo par de claves o usar uno existente si existe.También puede conectarse con el entorno existente
eb use
aunque no lo haya hecho.Para obtener detalles sobre la instalación de la CLI: https://docs.aws.amazon.com/console/elasticbeanstalk/eb-cli-install
fuente
En mac puedes instalar el cli usando brew:
Con la herramienta de línea de comandos, puede ssh con:
y también hacer otras operaciones. Esto supone que ha agregado un grupo de seguridad que permite ssh desde su ip.
fuente
Dependiendo de la configuración de su entorno, es posible que no tenga una dirección IP pública en la instancia EC2 que se creó para su entorno. Puedes consultar por:
Finalmente, seleccione su nuevo EIP y elija Asociar dirección en el menú de acciones. Asocia esa IP con tu instancia EC2. Deberías poder conectarte usando
eb ssh
ahora.Puede restablecer los detalles de la conexión ejecutando
eb ssh --setup
.fuente
También me encontré con el mismo problema hace un tiempo. Quería usar el archivo de clave, pero Amazon dice en alguna parte que no puede agregar un archivo de clave 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 usar SSH.
Luego configure, luego elimine su aplicación anterior.
fuente