Las AMIs de Amazon para RHEL 6.4, traen consigo un bug, dicho bug pertenece a la aplicación cloud-init y una mala configuración del rc.local.
El bug se basa en lo siguiente, al iniciar una ami, basada en una que has creado, esta no se inicia correctamente, por que se han añadido en el fichero sshd_config, 2 líneas de forma errónea, estas líneas son:
UseDNS no
PermitRootLogin without-password
Que debido al error, aparecen almacenadas de la siguiente forma:
UseDNS no
PermitRootLogin without-passwordUseDNS no
Esto provoca que la máquina no se levante correctamente. Si te pasa esto y necesitas acceder a esa máquina, la solución es que conectes el volumen de la máquina que falla, como secundario en otra máquina que si se inicie, una vez conectado el volumen, accedes a él desde la máquina y modifica el sshd_config para eliminar las líneas extrañas.
#vi /etc/ssh/sshd_config
Una vez modificado, vuelves a adjuntar el volumen a tu máquina y se debería conectar correctamente.
Para solucionarlo definitivamente, has de eliminar las siguientes líneas del fichero /etc/rc.local :
cat <> /etc/ssh/sshd_config
UseDNS no
PermitRootLogin without-password
UseDNS no
PermitRootLogin without-password
Por supuesto, cuando modifiquéis las líneas del sshd_config, reiniciar el servicio de ssh.
Vamos ahora al segundo bug, levantas tu ami, que sabes que tiene un usuario creado, intentas acceder a ella y te dice que “acceso denegado”, lo intentas con los certificados de Amazon y te deja perfectamente.
Tu estás completamente seguro, que antes de crear la ami, podías acceder con un usuario que has creado, ¿por qué ahora no puedes acceder?
Fácil y sencillo, simplemente por que el “cloud-init” ha modificado por ti la variable “PasswordAuthentication” y le ha puesto un no.
La solución rápida, entrar con el certificado, cambiar la opción a yes y reiniciar el servicio ssh.
La solución definitiva, editar el fichero /etc/cloud/cloud.cfg
y cambiar la variable “ssh_pwauth:” a 1, ya que por defecto está a 0.
Y esto es lo que provoca, que cuando levantas una ami basada en RHEL 6.4 no puedas acceder a ella.
Espero que os sirva chicos!!