2012-04-18 9 views
20

¿Puedo utilizar el mismo archivo de par de claves en todas las regiones? Quiero mantener el acceso ssh lo más simple posible.par de llaves único para todas las regiones

He configurado un archivo para cada región. Traté de cargar el mismo archivo en diferentes regiones, pero no funcionó como se esperaba.

Respuesta

17

Esto no es posible, cuando se utiliza un par de claves generadas por Amazon EC2, pero mientras tanto se ha habilitado mediante el uso de su propio par de claves (s), vea la entrada introductoria New Amazon EC2 Feature: Bring Your Own Keypair:

Puede ahora importar su propio par de claves RSA (o la mitad pública, para ser preciso) para usar con sus instancias Amazon EC2.

¿Por qué querrías hacer esto? Aquí hay un par de razones:

  1. Confianza - Al importar su propio par de claves puede asegurarse de que usted tiene control completo sobre sus teclas.
  2. Seguridad: puede estar seguro de que su clave privada nunca se ha transmitido a través del cable.
  3. Gestión de múltiples regiones: puede utilizar la misma clave pública en múltiples regiones AWS.[el énfasis es mío]

Este enfoque es muy beneficioso/conveniente de hecho - lo estoy usando durante bastante tiempo ya, y que de hecho ha disminuido considerablemente el trabajo con EC2.

Eric Hammond ofrece más detalles y un breve tutorial en su artículo Uploading Personal ssh Keys to Amazon EC2:

Amazon ha lanzado recientemente la posibilidad de cargar su propio ssh clave pública a EC2 de modo que se puede pasar a nuevas instancias cuando son lanzados. Antes de esto, siempre tenía que usar un par de llaves ssh que fuera generado por Amazon.

En consecuencia, recomiendo seguir su artículo con respecto a los (pocos y simples) pasos necesarios para lograr esto.

+0

He estado usando un par de llaves común. Creé una clave sin ninguna frase de contraseña y descubrí que solo funciona desde la PC Ubuntu en la que fue creada. No parece funcionar desde ninguna otra PC que no sea el caso con los otros pares de claves creados a través de la interfaz web. Necesito usar diferentes máquinas para conectarme a las instancias de AWS. – shantanuo

+0

@shantanuo: Eso es extraño y no de la forma en que se supone que las claves SSH funcionan normalmente (en consecuencia, no tengo este problema, es decir, mis claves son portátiles como se esperaba). Por supuesto, también necesita copiar sus claves privadas en cualquier otra PC, pero eso no es diferente de las claves generadas por AWS. Una cosa para cuidar podría ser el formato de clave, por ejemplo, necesitará convertir las claves generadas en Ubuntu al formato utilizado por Putty, en caso de que quiera usarlas en Windows (consulte, por ejemplo, [Uso de su clave privada OpenSSH en Putty] (http://meinit.nl/using-your-openssh-private-key-in-putty) para obtener instrucciones). –

+0

Supongo que esto sucede cuando expandes la partición raíz como se explica en esta publicación del blog: http://oksoft.blogspot.in/2012/04/expand-root-ebs-volume.html – shantanuo

8

Si puede importar su propia clave pública RSA, entonces se puede compartir una clave generada Amazon a través de regiones:

  1. Con la tecla que desea compartir, conectarse a una instancia en la región donde estaba generado.
  2. Open ~/.ssh/authorized_keys
  3. encontrar la línea con la tecla que desea compartir (el final de la línea debe mostrar el nombre de par de claves especificada cuando se generó)
  4. Copiar todos la alineación al primer personaje del nombre del par de llaves. Deberían tener 382 caracteres.
  5. Guarde los datos copiados en un archivo localmente (por ejemplo, en la máquina que inició la sesión SSH DESDE).
  6. Inicie sesión en la consola EC2 y cambie a la región con la que desea compartir la clave.
  7. Seleccione la gestión de "Pares clave"
  8. Haga clic en "Importar pares de claves" y apúntelo al archivo creado en el paso 5. Probablemente quiera darle al par de llaves el mismo nombre que le dio en la región en la que se encuentra importarlo forma.
  9. Inicie instancias utilizando este par de llaves. Debería poder iniciar sesión en las instancias de la nueva región utilizando la misma clave privada que en la región donde la generó.
+0

Acabo de confirmar que esto funcionó. (Solo tenía 380 bytes, no 382, ​​¿quizás tenías CRLF al final de los tuyos, y es opcional?) Veo una huella digital diferente para los pares de llaves en las dos regiones, pero SSH para la nueva instancia funcionó, así que supongo ¡eso no importa! –

+0

confirmó que esto funciona. – 3z33etm

3

El AWS clave generada se puede transferir a otra región:

  • Entrar en la instancia que se creó con la clave que desea transferir.
  • Instalar EC2-API-herramientas si no está ya presente (sudo apt-get install EC2-API-herramientas)

Use este comando

ec2-import-keypair keypair-name --public-key-file ~/.ssh/authorized_keys --region aws-region 

Con pasos anteriores, que transfirió la AWS creó clave de la región de Singapur a la región de Oregon y la misma clave funcionó perfectamente bien para mí.

Por favor, visite este enlace, así:

https://forums.aws.amazon.com/thread.jspa?threadID=52654

1

También puede utilizar el aws cli para transferir el par de claves a otra región.

aws ec2 import-key-pair --key-name my-key --public-key-material file://~/.ssh/id_rsa.pub --region my-region 

Ver this issue en GitHub para más.

2

Si desea crear un par de claves ssh en AWS Console y cargar este par de claves en todas las demás regiones.

  1. Cree un nuevo par de claves ssh en la consola o use la que ya posee.

  2. generar una clave pública ssh desde la clave privada ssh (PEM> pub)

$ ssh-keygen -y -f ~/.ssh/MySSHKeyPair.pem >> ~/.ssh/MySSHKeyPair.pub

  1. Cargue la clave pública ssh en todas las regiones. (eliminar de la lista la región que ya tiene la clave ssh)

$ por a en nosotros-este-1 us-este-2 us-oeste-1 us-oeste-2 ap-sur-1 ap -northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2; do aws ec2 import-key-pair --key-name MySSHKeyPair --public-key-material file: //~/.ssh/MySSHKeyPair.pub --region $ region; hecho

  1. Obtenga la lista de todos los pares de claves ssh en todas las regiones.

$ for a in us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2; hacer aws ec2 describe-key-pairs --region $ a; hecho

Cuestiones relacionadas