2010-02-02 26 views
5

En Amazon EC2, ¿es posible reasignar un par de llaves a una instancia ya en ejecución?En Amazon EC2, ¿es posible reasignar un par de llaves a una instancia ya en ejecución?

Tengo un problema con un par de llaves en particular y me pregunto si hay alguna forma de arreglarlo reasignándolo.

Gracias

+0

https://forums.aws.amazon.com/thread.jspa?threadID=52593 – YumYumYum

+0

posible duplicación de [Cambiar par de claves para la instancia de ec2] (http: // stackoverflow.com/questions/7881469/change-key-pair-for-ec2-instance) – user456584

Respuesta

10

La mejor solución que hemos sido capaces de llegar a es create an AMI from the running instance y poner en marcha una nueva instancia de ese IAM utilizando el nuevo par de claves.

Cada instancia que lanzamos se basa en un AMI personalizado que mantenemos por esta y muchas otras razones.

Me interesa saber si alguien tiene un mejor enfoque.

+0

¿Cómo se quema un AMI para la instancia? ¿Eso captura todos los datos también? –

+1

Consulte http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?PreparingAndCreatingAMIs.html para saber cómo crear sus propias AMI. –

+0

esto es lo que hacemos también ... la única parte difícil fue que nuestros servidores de Amazon necesitan hablar con nuestros servidores físicos en nuestro centro de datos, así que fue un poco complicado ya que el firewall necesita el nombre de host y la dirección MAC para permitirlo. ... eso cambia cada arranque y aunque puedes obtener esa información con la API, nunca encontré una forma de golpear programáticamente el firewall del centro de datos con esas instrucciones. Terminé usando la API para todo y luego una secuencia de comandos de PowerShell para renombrar y reiniciar la computadora para que coincidiera con nuestras tolerancias de firewall. –

1

... Probablemente sólo una suposición basada en lo que he hecho en unos pocos casos:

  1. Entrar en la instancia con ssh. Si ese es el problema, que está bastante atascado
  2. SFTP la clave pública del par nuevo y lo puso en su lugar en el .ssh llaves autorizadas
  3. reiniciar los sshd

Ahora, intente acceder con la clave privada que coincide con la pública que colocaste en su lugar.

Pero me temo que el problema que tiene es entrar cuando el par de AWS se ha puesto malo. No hay ayuda allí.

1

Si está utilizando un servidor Linux, puede separar el disco y montarlo en otra instancia para resolver cuál es el problema.

Primero cierre el servidor problemático. Tome nota del nombre del dispositivo (probablemente/dev/sda1) y separe el disco.

A continuación, cree una nueva instancia (llamemos a la instancia de rescate) utilizando un nuevo par de claves, y adjunte el disco que se separó como un disco adicional (no reemplace el disco de la instancia de rescate).

A continuación, inicie sesión con ssh en la instancia de rescate y monte el disco. En la cuenta de usuario principal en la carpeta de inicio de discos recientemente montados hay una carpeta llamada .ssh con un archivo authorized_keys (/mnt/home/ubuntu/.ssh/authorized_keys por ejemplo).

El archivo authorized_keys puede contener varias claves públicas, cada una en su propia línea. Compruebe los permisos en la carpeta .ssh y en la carpeta principal, ambos solo deberían permitir escribir solo para el propietario. Permiso de lectura es requerido para el grupo y el mundo, creo. Cualquier clave privada en .ssh debe tener el permiso 600 (solo lectura y escritura del usuario).

Esto contiene la clave pública del par de claves original. Reemplace esto con su nueva clave pública (o agregue una nueva línea con la nueva clave pública) y luego cierre la instancia de rescate, separe el disco y adjúntelo a la instancia del problema con el nombre del dispositivo original (probablemente/dev/sda1).

Arranca y deberías poder iniciar sesión con la clave privada del nuevo par de claves.

Cuestiones relacionadas