Hay ocasiones en las que necesitaremos cambiar de Key a contraseña en AWS EC2 para esto debemos realizar los siguientes pasos:
Editar el archivo de configuración cloud-init
Edita el siguiente archivo:
/etc/cloud/cloud.cfg
Busca las siguientes lineas y asegúrate que tenga éstos datos:
disable_root: false
ssh_pwauth: true
Éste proceso nos permite habilitar el login del root por medio de contraseña en el cloud-init. Son necesarias para poder asignar la contraseña por medio del user-data.
Editar el archivo authorized_key
Edita el siguiente archivo
/root/.ssh/authorized_key
En el archivo authorized_keys, si existe remueve el prefijo del comando y deja el ssh-rsa, Ejemplo:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login
as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10"
ssh-rsa <contenido de la sshkey>
El contenido debe quedar así:
ssh-rsa <contenido de la sshkey>
Edita el archivo sshd_config y genera la contraseña nueva para el root de tu Amazon EC2
Edita el siguiente archivo:
/etc/ssh/sshd_config
Actualiza las siguientes lineas
PasswordAuthentication yes
PermitRootLogin yes
Cambia la contraseña del root
passwd root
Reinicia el servicio sshd
sudo service sshd restart
¿ Para que sirve cambiar de Key a contraseña en AWS EC2 ?
En mi caso especifico necesitaba habilitar la Migración & Transferencia de Plesk, para realizar una migración de paquetes de hosting de un servidor a otro pero la key que proporciona AWS no me funcionaba en el Plesk receptor, por ese motivo me vi obligado a cambiar de Key a contraseña para poder logear al SSH por medio de contraseña.