Restablecimiento de contraseñas y claves de SSH en instancias EC2
Puede utilizar el manual de procedimientos AWSSupport-ResetAccess
para volver a activar de forma automática la generación de contraseñas del administrador local en las instancias de Amazon Elastic Compute Cloud (Amazon EC2) para Windows Server y generar una nueva clave de SSH en instancias de EC2 para Linux. El manual de procedimientos AWSSupport-ResetAccess
se ha diseñado para realizar una combinación de acciones de AWS Systems Manager, acciones de AWS CloudFormation y funciones de AWS Lambda que automatizan los pasos que normalmente se requieren para restablecer la contraseña de administrador local.
Puede utilizar Automatización, una herramienta de AWS Systems Manager, con el manual de procedimientos AWSSupport-ResetAccess
para solucionar los siguientes problemas:
Windows
Ha perdido el par de claves de EC2: si desea resolver este problema, puede utilizar el manual de procedimientos AWSSupport-ResetAccess para crear una AMI que se habilita con contraseñas con la instancia actual, lanzar una nueva instancia a partir de la AMI y seleccionar un par de claves de su propiedad.
Ha perdido la contraseña de administrador local: si desea solucionar este problema, puede utilizar el manual de procedimientos AWSSupport-ResetAccess
para generar una nueva contraseña que se pueda descifrar con el par de claves de EC2 actual.
Linux
Ha perdido el par de claves de EC2 o configuró el acceso de SSH a la instancia con una clave que ha perdido: si desea solucionar este problema, puede utilizar el manual de procedimientos AWSSupport-ResetAccess
a fin de crear una nueva clave de SSH para la instancia actual, lo que le permitirá conectarse de nuevo a la instancia.
nota
Si su instancia de EC2 para Windows Server está configurada para Systems Manager, también puede restablecer su contraseña de administrador local mediante EC2Rescue y AWS Systems Manager Run Command. Para obtener más información, consulte Uso de EC2Rescue para Windows Server con Systems Manager Run Command en la Guía del usuario de Amazon EC2.
- Información relacionada
-
Conexión a una instancia de Linux desde Windows mediante PuTTY en la Guía del usuario de Amazon EC2
Funcionamiento
La solución de problemas de una instancia con Automation y el manual de procedimientos AWSSupport-ResetAccess
funciona de la siguiente manera:
-
Especifica el ID de la instancia y ejecuta el manual de procedimientos.
-
El sistema crea una VPC temporal y, a continuación, ejecuta una serie de funciones de Lambda para configurar la VPC.
-
El sistema identifica una subred para su VPC temporal en la misma zona de disponibilidad que la instancia original.
-
El sistema lanza una instancia auxiliar de habilitada para SSM y temporal.
-
El sistema detiene la instancia original y crea una copia de seguridad. A continuación, asocia el volumen raíz original a la instancia auxiliar.
-
El sistema utiliza Run Command para ejecutar EC2Rescue en la instancia auxiliar. En Windows, EC2Rescue permite generar la contraseña para el administrador local usando EC2Config o EC2Launch en el volumen raíz original asociado. En Linux, EC2Rescue genera e introduce una nueva clave de SSH y guarda la clave privada (cifrada) en Parameter Store. Cuando finaliza, EC2Rescue vuelve a asociar el volumen raíz a la instancia original.
-
El sistema crea una nueva Amazon Machine Image (AMI) de su instancia, ahora que la generación de contraseña está habilitada. Puede usar esta AMI para crear una nueva instancia de EC2 y asociar un par de claves nuevo, en caso de ser necesario.
-
El sistema reinicia la instancia original y termina la instancia temporal. El sistema también termina la VPC temporal y las funciones de Lambda creadas al inicio de la Automation.
-
Windows: la instancia genera una nueva contraseña que se puede descodificar en la consola de Amazon EC2 con el par de claves que la instancia tiene asignado en este momento.
Linux: puede aplicar SSH a la instancia utilizando la clave de SSH almacenada en Systems Manager Parameter Store como /ec2rl/openssh/
instance ID
/key.
Antes de empezar
Antes de ejecutar la siguiente Automation, haga lo siguiente:
-
Copie el ID de la instancia en la que desea restablecer la contraseña de administrador. Especificará este ID en el procedimiento.
-
Opcionalmente, recopile el ID de una subred en la misma zona de disponibilidad que su instancia inaccesible. La instancia de EC2Rescue se creará en esta subred. Si no especifica ninguna subred, Automation crea una nueva VPC temporal en su Cuenta de AWS. Verifique que su Cuenta de AWS tiene al menos una VPC disponible. De forma predeterminada, puede crear cinco VPC en una región. Si ya ha creado cinco VPC en la región, se produce un error en la Automation sin realizar cambios en la instancia. Para obtener más información acerca de las cuotas de Amazon VPC, consulte VPC y subredes en la Guía del usuario de Amazon VPC.
-
También puede crear y especificar un rol de AWS Identity and Access Management (IAM) para Automation. Si no especifica este rol, Automation se ejecuta en el contexto del usuario que ha ejecutado la Automation.
Concesión de permisos a AWSSupport-EC2Rescue para realizar acciones en las instancias
EC2Rescue necesita permiso para realizar una serie de acciones en las instancias durante la automatización. Estas acciones invocan los servicios AWS Lambda, IAM y Amazon EC2 para intentar solucionar los problemas de sus instancias de forma segura. Si dispone de permisos de nivel de administrador en su Cuenta de AWS o VPC, es probable que pueda ejecutar la automatización sin configurar permisos, tal y como se describe en esta sección. Si no dispone de permisos de nivel de administrador, usted o un administrador deben configurarlos mediante una de las siguientes opciones.
Concesión de permisos mediante políticas de IAM
Puede adjuntar la siguiente política de IAM a su cuenta de usuario, grupo o rol como una política insertada o bien puede crear una nueva política administrada de IAM y adjuntarla a su usuario, grupo o rol. Para obtener más información sobre la adición de una política insertada a su usuario, grupo o rol, consulte Uso de políticas insertadas. Para obtener más información sobre cómo crear una política administrada, consulte Uso de políticas administradas.
nota
Si crea una nueva política administrada de IAM, también debe adjuntar la política administrada AmazonSSMAutomationRole para que la instancia se pueda comunicar con la API de Systems Manager.
Política de IAM para AWSSupport-ResetAccess
Reemplace account ID
con su propia información.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:
account ID
:function:AWSSupport-EC2Rescue-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::awssupport-ssm.*/*.template", "arn:aws:s3:::awssupport-ssm.*/*.zip" ], "Effect": "Allow" }, { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:PutRolePolicy", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile" ], "Resource": [ "arn:aws:iam::account ID
:role/AWSSupport-EC2Rescue-*", "arn:aws:iam::account ID
:instance-profile/AWSSupport-EC2Rescue-*" ], "Effect": "Allow" }, { "Action": [ "lambda:CreateFunction", "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DeleteVpc", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:CreateSubnet", "ec2:DeleteSubnet", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:DisassociateRouteTable", "ec2:DeleteRouteTable", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:ModifyVpcEndpoint", "ec2:Describe*" ], "Resource": "*", "Effect": "Allow" } ] }
Concesión de permisos mediante una plantilla de AWS CloudFormation
AWS CloudFormation automatiza el proceso de creación de roles y políticas de IAM a través de una plantilla preconfigurada. Utilice el siguiente procedimiento para crear los roles y las políticas de IAM necesarios para EC2Rescue Automation mediante AWS CloudFormation.
Para crear los roles y las políticas de IAM necesarios para EC2Rescue
-
Descargue
AWSSupport-EC2RescueRole.zip
y extraiga el archivoAWSSupport-EC2RescueRole.json
en un directorio de su equipo local. -
Si su Cuenta de AWS está en una partición especial, edite la plantilla para cambiar los valores de ARN por los de su partición.
Por ejemplo, para las regiones de China, cambie todas las instancias de
arn:aws
porarn:aws-cn
. Inicie sesión en la AWS Management Console y abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Elija Create stack (Crear pila), With new resources (standard) (Con nuevos recursos [estándar]).
-
En la página Create stack (Crear pila) en Prerequisite - Prepare template (Requisito previo: preparar plantilla), elija Template is ready (La plantilla está lista).
-
En Specify template (Especificar plantilla), elija Upload a template file (Cargar un archivo de plantilla).
-
Elija Choose file (Elegir archivo), y, a continuación, busque y seleccione el archivo
AWSSupport-EC2RescueRole.json
del directorio en el que lo extrajo. -
Elija Siguiente.
-
En la página Specify stack details (Especificar detalles de la pila) para el campo Stack name (Nombre de la pila), escriba un nombre para identificar esta pila y, a continuación, elija Next (Siguiente).
-
(Opcional) En el área Tags (Etiquetas), aplique a la pila uno o varios pares de nombre-valor de claves de etiqueta.
Las etiquetas son metadatos opcionales que usted asigna a un recurso. Las etiquetas le permiten clasificar los recursos de diversas maneras, por ejemplo, según su finalidad, propietario o entorno. Por ejemplo, puede que desee etiquetar una pila para identificar el tipo de tareas que ejecuta, los tipos de destinos u otros recursos implicados y el entorno en el que se ejecuta.
-
Elegir Next (Siguiente)
-
En la página Review (Revisar), revise los detalles de la pila y, a continuación, desplácese hacia abajo y elija la opción I acknowledge that AWS CloudFormation might create IAM resources (Acepto que es posible que cree recursos de IAM).
-
AWS CloudFormation muestra el estado CREATE_IN_PROGRESS durante unos minutos. El estado cambia a CREATE_COMPLETE tras crear la pila. También puede elegir el icono de actualización para comprobar el estado del proceso de creación.
-
En la lista de pilas, elija la opción situada junto al pila que acaba de crear y, a continuación, elija la pestaña Outputs (Salidas).
-
Copie el contenido de Value (Valor). Es el ARN de AssumeRole. Especificará este ARN al ejecutar Automation.
Ejecución de Automation
El siguiente procedimiento describe cómo ejecutar el manual de procedimientos AWSSupport-ResetAccess
a través de la consola de AWS Systems Manager.
importante
La siguiente automatización detiene la instancia. La detención de la instancia puede ocasionar la pérdida de datos en los volúmenes de almacén de instancias asociados (si los hubiera). La detención de la instancia también puede provocar que cambie la IP pública, si no hay asociada ninguna IP elástica. Para evitar estos cambios de configuración, use Run Command para restablecer el acceso. Para obtener más información, consulte Uso de EC2Rescue para Windows Server con Systems Manager Run Command en la Guía del usuario de Amazon EC2.
Para ejecutar el documento de AWSSupport-ResetAccess Automation
Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/
. En el panel de navegación, elija automatización.
-
Elija Ejecutar automatización.
-
En la sección Automation document (Documento de Automation), elija Owned by Amazon (Propiedad de Amazon) en la lista.
-
En la lista de manuales de procedimientos, seleccione el botón de la tarjeta que corresponde a AWSSupport-ResetAccess y, a continuación, elija Next (Siguiente).
-
En la página Execute automation document (Ejecutar documento de Automation), elija Simple execution (Ejecución sencilla).
-
En la sección Document details (Detalles del documento), asegúrese de que el valor de Document version (Versión del documento) sea la versión predeterminada más alta. Por ejemplo, $DEFAULT o 3 (default) (3 [predeterminada]).
-
En la sección Input parameters, especifique los siguientes parámetros:
-
En InstanceID, especifique la ID de la instancia inaccesible.
-
En SubnetId, especifique una subred en una VPC existente en la misma zona de disponibilidad que la instancia que haya indicado. De forma predeterminada, Systems Manager crea una nueva VPC, pero usted puede especificar una subred en una VPC existente, si así lo desea.
nota
Si no ve la opción para especificar un ID de subred, verifique que está usando la versión más reciente predeterminada del manual de procedimientos.
-
En EC2RescueInstanceType, especifique un tipo de instancia para la instancia de EC2Rescue, El tipo de instancia predeterminada es
t2.medium
. -
Para AssumeRole, si ha creado roles para esta automatización mediante el procedimiento de AWS CloudFormation descrito anteriormente en este tema, especifique el ARN de AssumeRole que anotó en la consola de AWS CloudFormation.
-
-
(Opcional) En el área Tags (Etiquetas), aplique uno o más pares de nombre-valor de claves de etiqueta para ayudar a identificar la automatización, como
Key=Purpose,Value=ResetAccess
. -
Elija Ejecutar.
-
Para supervisar el progreso de la automatización, elija la automatización que se esté ejecutando, y luego la pestaña Steps (Pasos). Una vez que se haya completado la automatización, elija la pestaña Descriptions (Descripciones) y, a continuación, View output (Ver salida) para ver los resultados. Para ver la salida de pasos individuales, elija la pestaña Steps (Pasos) y, a continuación, View Outputs (Ver salidas) junto a un paso.
El manual de procedimientos crea una AMI de copia de seguridad y una AMI que se habilita con contraseñas como parte de la automatización. Los demás recursos que creó la automatización se eliminan automáticamente, pero estas AMIs permanecen en su cuenta. Las AMIs reciben su nombre según las convenciones siguientes:
-
AMI de copia de seguridad:
AWSSupport-EC2Rescue:
InstanceID
-
AMI habilitada con contraseña: AWSSupport-EC2Rescue: AMI habilitada con contraseña de
Instance ID
Puede localizar estas AMIs buscando el ID de ejecución de Automation.
En Linux, la nueva clave privada de SSH para la instancia se guarda (cifrada) en Parameter Store. El nombre del parámetro es /ec2rl/openssh/instance ID
/key.