Rompí SSH al usar chmod en una instancia EC2. ¿Cómo lo corrijo?

Rompí SSH al usar chmod en una instancia EC2. ¿Cómo lo corrijo?

He estado ejecutando una instancia Amazon EC2 por un tiempo y recientemente cambié accidentalmente los permisos/propiedad de las carpetas de forma recursiva. Ya no puedo acceder mediante SSH a la instancia. No recuerdo cuál fue la orden exacta. Luego recuperé el acceso básico utilizando la técnica proporcionada en la respuesta a esta pregunta:https://serverfault.com/questions/234061/re-gaining-root-access-to-an-ec2-ebs-boot-image

Sin embargo, no sé qué hacer con el Paso 3 ("Modificarlo"). No sé qué modificar y, en mis intentos por establecer los permisos correctos, ¡también perdí el acceso a varias instancias EC2 de recuperación!

Como referencia, estoy usando Win7 y Putty/WinSCP para conectarme a la instancia. Putty muestra los siguientes 2 errores cuando intento iniciar sesión en la instancia a través de SSH:

El servidor rechazó nuestra clave

No hay métodos de autenticación compatibles disponibles (servidor enviado: clave pública)

Estoy seguro de que estoy utilizando el nombre de usuario, la dirección IP y la clave privada correctos para mi instancia.

Cualquier ayuda sería muy apreciada.

Respuesta1

La solución,como describe la publicación de Server Fault, es montar su EBS en otra instancia (nueva) a la que pueda conectarse. El EBS será solo una unidad allí y podrá conectarse de forma remota a la instancia ya que es nueva. Luego podrá recuperar sudo chownlos directorios que rompió en primer lugar.

  1. Detenga (NO finalice) su primera instancia desde la consola de AWS

  2. Cree una nueva instancia de Linux desde la consola de AWS

  3. Separe el EBS de la primera instancia y conéctelo a la nueva instancia, nuevamentedesde la consola de AWS. Asígnele el nombre: /dev/sdm (en la consola de EBS, verá que el volumen adjunto se llama sdm pero está asignado a xvdm en Linux, por lo que coincide con los siguientes comandos. Pero siéntase libre de usar otra letra y ajustar el siguientes comandos.)

  4. SSH a la nueva instancia y ejecute:

    sudo mkfs -t ext4 /dev/xvdm
    sudo mkdir /old-ebs
    # optional, in case this is a bit more permanent
    sudo echo "/dev/xvdm        /old-ebs     auto    noatime,noexec,nodiratime 0 0" >> /etc/fstab
    sudo mount /dev/xvdm /old-ebs
    
  5. Ahora tiene acceso (sudo) a su antiguo EBS y puede encontrar chownel directorio que necesita. Un consejo aquí, si está perdido, sería copiar los derechos de la nueva instancia.

  6. Una vez que haya terminado, puede detener la nueva instancia, desconectar su EBS y volver a conectarlo a la primera instancia, luego iniciarla.

El tercer comando de consola anterior, para agregar el volumen montado en el archivo /etc/fstabpara que se monte automáticamente en cada reinicio, es opcional.

información relacionada