Ripristino di password e chiavi SSH sulle istanze EC2 - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ripristino di password e chiavi SSH sulle istanze EC2

È possibile utilizzare il runbook AWSSupport-ResetAccess per riabilitare automaticamente la generazione della password dell'amministratore locale sulle istanze Amazon Elastic Compute Cloud Amazon EC2 per Windows Server e per generare una nuova chiave SSH sulle istanze EC2 per Linux. Il AWSSupport-ResetAccess runbook è progettato per eseguire una combinazione di AWS Systems Manager azioni, AWS CloudFormation azioni e AWS Lambda funzioni che automatizzano i passaggi normalmente necessari per reimpostare la password dell'amministratore locale.

È possibile utilizzare Automation, una funzionalità di AWS Systems Manager, con il AWSSupport-ResetAccess runbook per risolvere i seguenti problemi:

Windows

Hai perso la coppia di chiavi EC2: per risolvere questo problema, puoi usare il AWSSupport- ResetAccess runbook per creare un'istanza abilitata alla password AMI dall'istanza corrente, avviare una nuova istanza dall'AMI e selezionare una coppia di chiavi di tua proprietà.

Perdita della password dell'amministratore locale: per risolvere questo problema, è possibile utilizzare il runbook AWSSupport-ResetAccess per generare una nuova password che può essere decrittografata mediante la coppia di chiavi EC2 corrente.

Linux

Perdita della coppia di chiavi EC2 oppure configurazione dell'accesso SSH all'istanza con una chiave perduta: per risolvere questo problema, è possibile utilizzare il runbook AWSSupport-ResetAccess per creare una nuova chiave SSH per l'istanza corrente. Tale chiave consente di connettersi di nuovo all'istanza.

Nota

Se l'istanza EC2 per Windows Server è configurata per Systems Manager, è anche possibile reimpostare la password dell'amministratore locale utilizzando EC2Rescue e AWS Systems Manager Run Command. Per ulteriori informazioni, consulta Using EC2Rescue for Windows Server with Systems Manager Run Command nella Amazon EC2 User Guide.

Informazioni correlate

Connect alla tua istanza Linux da Windows utilizzando PuTTY nella Amazon EC2 User Guide

Come funziona

Risoluzione dei problemi di un'istanza con il servizio di automazione e il runbook AWSSupport-ResetAccess funziona nel seguente modo:

  • L'utente specifica l'ID dell'istanza ed esegue il runbook.

  • Il sistema crea un VPC temporaneo e quindi esegue una serie di funzioni Lambda per configurare il VPC.

  • Il sistema identifica una sottorete per il VPC temporaneo nella stessa zona di disponibilità dell'istanza originale.

  • Il sistema avvia un'istanza helper temporanea e abilitata per SSM.

  • Il sistema arresta l'istanza originale e crea un backup. Collega quindi il volume root originale all'istanza helper.

  • Il sistema utilizza Run Command per eseguire EC2Rescue sull'istanza helper. In Windows, EC2Rescue abilita la generazione della password per l'amministratore locale utilizzando EC2Config o EC2Launch sul volume root originale collegato. In Linux, EC2Rescue genera e implementa una nuova chiave SSH e salva la chiave privata, crittografata, in Parameter Store. Al termine, EC2Rescue collega di nuovo il volume root all'istanza originale.

  • Il sistema crea una nuova Amazon Machine Image (AMI) dell'istanza, ora che la generazione delle password è abilitata. È possibile usare questa AMI per creare una nuova istanza EC2 e associare una nuova coppia di chiavi, se necessario.

  • Il sistema riavvia l'istanza originale e termina l'istanza temporanea. Il sistema termina anche il VPC temporaneo e le funzioni Lambda create all'inizio dell'automazione.

  • Windows: l'istanza genera una nuova password che è possibile decodificare dalla console Amazon EC2 utilizzando la coppia di chiavi corrente assegnata all'istanza.

    Linux: puoi eseguire l'accesso SSH all'istanza utilizzando la chiave SSH archiviata nell'archivio parametri di Systems Manager come /ec2rl/openssh/instance ID/key.

Prima di iniziare

Prima di eseguire la seguente automazione, esegui le seguenti operazioni:

  • Copiare l'ID istanza dell'istanza per la quale si desidera reimpostare la password dell'amministratore. Questo ID verrà specificato nella procedura.

  • Facoltativamente, recuperare l'ID di una sottorete nella stessa zona di disponibilità dell'istanza non raggiungibile. L'istanza EC2Rescue verrà creata in questa sottorete. Se non specifichi una sottorete, Automation crea un nuovo VPC temporaneo nel tuo. Account AWS Verifica di Account AWS avere almeno un VPC disponibile. Per impostazione predefinita, in una regione è possibile creare cinque VPC. Se nella regione sono già stati creati cinque VPC, l'automazione avrà esito negativo e non verrà apportata alcuna modifica all'istanza. Per ulteriori informazioni sulle quote di Amazon VPC, consulta l'argomento relativo a VPC e sottoreti nella Guida utente Amazon VPC.

  • Facoltativamente, puoi creare e specificare un ruolo AWS Identity and Access Management (IAM) per l'automazione. Se non si specifica questo ruolo, il servizio di automazione viene eseguito nel contesto dell'utente che ha eseguito l'automazione.

Concessione delle autorizzazioni AWSSupport a -EC2Rescue per eseguire azioni sulle istanze

EC2Rescue deve disporre dell'autorizzazione per eseguire una serie di operazioni sulle istanze durante l'esecuzione del servizio di automazione. Queste azioni richiamano i AWS Lambda servizi IAM e Amazon EC2 per tentare in modo sicuro di risolvere i problemi con le istanze. Se disponi di autorizzazioni a livello di amministratore nel tuo e/o Account AWS VPC, potresti essere in grado di eseguire l'automazione senza configurare le autorizzazioni, come descritto in questa sezione. Se non si dispone delle autorizzazioni a livello di amministratore, l'utente corrente o un amministratore deve configurare tali autorizzazioni mediante una delle opzioni riportate di seguito.

Concessione delle autorizzazioni mediante policy IAM

È possibile collegare la seguente policy IAM all'utente, al gruppo o al ruolo come policy inline. In alternativa, è possibile creare una nuova policy gestita IAM e collegarla all'utente, al gruppo o al ruolo. Per ulteriori informazioni sull'aggiunta di una policy inline all'utente, al gruppo o al ruolo, consulta la pagina Utilizzo delle policy inline. Per ulteriori informazioni sulla creazione di una nuova policy gestita, consulta la sezione relativa all'uso di policy gestite.

Nota

Se crei una nuova policy gestita da IAM, devi anche allegare la policy AutomationRole gestita di AmazonSSM in modo che le tue istanze possano comunicare con l'API Systems Manager.

Policy IAM per AWSSupport-ResetAccess

Sostituisci account ID (ID account) con le tue informazioni.

{ "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" } ] }

Concessione delle autorizzazioni utilizzando un modello AWS CloudFormation

AWS CloudFormation automatizza il processo di creazione di ruoli e policy IAM utilizzando un modello preconfigurato. Utilizza la procedura seguente per creare i ruoli e le policy IAM richiesti per il servizio di automazione di EC2Rescue utilizzando AWS CloudFormation.

Per creare i ruoli e le policy IAM per EC2Rescue
  1. Scaricare AWSSupport-EC2RescueRole.zip ed estrarre il file AWSSupport-EC2RescueRole.json in una directory sul computer locale.

  2. Se ti Account AWS trovi in una partizione speciale, modifica il modello per cambiare i valori ARN con quelli della tua partizione.

    Ad esempio, per le regioni della Cina, modificare i casi da arn:aws a arn:aws-cn.

  3. Accedi AWS Management Console e apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation.

  4. Scegliere Create stack (Crea stack), With new resources (standard) (Con nuove risorse (standard)).

  5. Nella pagina Create stack (Crea stack) per Prerequisite - Prepare template (Prerequisito - Prepara modello), scegliere Template is ready (Il modello è pronto).

  6. In Specify template (Specifica il modello), scegliere Upload a template file (Carica un file modello).

  7. Scegliere Choose file (Scegli file), quindi individuare e selezionare il file AWSSupport-EC2RescueRole.json dalla directory in cui è stato estratto.

  8. Scegliere Next (Successivo).

  9. Nella pagina Specify stack details (Specifica i dettagli dello stack), per il campo Stack name (Nome stack) inserire un nome per identificare lo stack, quindi scegliere Next (Successivo).

  10. (Facoltativo) Nell'area Tags (Tag), applicare una o più coppie nome chiave tag-valore allo stack.

    I tag sono metadati facoltativi assegnati a una risorsa. I tag consentono di categorizzare una risorsa in diversi modi, ad esempio in base allo scopo, al proprietario o all'ambiente. Ad esempio, è possibile applicare un tag uno stack per identificare il tipo di attività che esegue, i tipi di destinazioni o altre risorse coinvolte e l'ambiente in cui viene eseguito.

  11. Seleziona Next (Successivo).

  12. Nella pagina Revisione, esamina i dettagli dello stack, quindi scorri verso il basso e scegli l'opzione Riconosco che AWS CloudFormation potrebbe creare risorse IAM.

  13. AWS CloudFormation mostra lo stato CREATE_IN_PROGRESS per alcuni minuti. Dopo la creazione dello stack, lo stato diventa CREATE_COMPLETE. È inoltre possibile scegliere l'icona di aggiornamento per verificare lo stato del processo di creazione.

  14. Nell'elenco degli stack, scegliere l'opzione accanto allo stack appena creato e quindi scegliere la scheda Outputs (Output).

  15. Copiare il valore visualizzato nel campo Value (Valore). È l'ARN di. AssumeRole È possibile specificare questo ARN quando si esegue il servizio di automazione.

Esecuzione del servizio di automazione

La procedura seguente descrive come seguire runbook AWSSupport-ResetAccess tramite la console AWS Systems Manager .

Importante

L'esecuzione della seguente automazione arresta l'istanza. L'arresto dell'istanza può causare la perdita di dati sui volumi dell'instance store collegati (se presenti). L'arresto dell'istanza può causare anche la modifica dell'indirizzo IP pubblico se non è associato alcun indirizzo IP elastico. Per evitare queste modifiche di configurazione, utilizza Run Command per ripristinare l'accesso. Per ulteriori informazioni, consulta Using EC2Rescue for Windows Server with Systems Manager Run Command nella Amazon EC2 User Guide.

Per eseguire - Automation AWSSupport ResetAccess
  1. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli Automazione.

  3. Scegliere Execute automation (Esegui automazione).

  4. Nella sezione Automation document (Documento di automazione) scegliere Owned by Amazon (Di proprietà di Amazon) nell'elenco.

  5. Nell'elenco dei runbook, scegli il pulsante nella scheda corrispondente a AWSSupport- ResetAccess, quindi scegli Avanti.

  6. Nella pagina Execute automation document (Esegui documento di automazione), scegliere Simple execution (Esecuzione semplice).

  7. Nella sezione Document details (Dettagli documento) verificare che l'opzione Document version (Versione documento) sia impostata sulla versione predefinita con il numero più alto. Ad esempio, $DEFAULT o 3 (default).

  8. Nella sezione Input parameters (Parametri di input), specificare i seguenti parametri:

    1. Per InstanceID, specificare l'ID dell'istanza non raggiungibile.

    2. Per SubnetId, specifica una sottorete in un VPC esistente nella stessa zona di disponibilità dell'istanza specificata. Per impostazione predefinita, Systems Manager crea un nuovo VPC, ma è possibile specificare una sottorete in un VPC esistente.

      Nota

      Se l'opzione per specificare un ID sottorete non è disponibile, verificare nel campo Default (Impostazione predefinita) che si stia utilizzando la versione più recente del runbook.

    3. Per EC2 RescueInstance Type, specifica un tipo di istanza per l'istanza EC2Rescue. Il tipo di istanza di default è t2.medium.

    4. Infatti AssumeRole, se hai creato ruoli per questa automazione utilizzando la AWS CloudFormation procedura descritta in precedenza in questo argomento, specifica l' AssumeRole ARN che hai annotato nella AWS CloudFormation console.

  9. (Facoltativo) Nell'area Tag applicare ad esempio una o più coppie nome/valore chiave tag per identificare l'automazione, ad esempio Key=Purpose,Value=ResetAccess.

  10. Scegliere Execute (Esegui).

  11. Per monitorare lo stato di avanzamento dell'automazione, scegliere l'automazione in esecuzione e quindi scegliere la scheda Steps (Fasi). Al termine dell'automazione, scegliere la scheda Descriptions (Descrizioni), quindi View output (Visualizza output) per visualizzare i risultati. Per visualizzare l'output delle singole fasi, scegliere la scheda Steps (Fasi), quindi scegliere View Outputs (Visualizza output) accanto a una fase.

Il runbook crea un backup di AMI e un'AMI abilitata mediante password come parte dell'automazione. Tutte le altre risorse create dall'automazione vengono eliminate automaticamente, ma queste AMIs rimangono nell'account in uso. Alle AMIs viene assegnato un nome utilizzando le seguenti convenzioni:

  • Backup AMI: AWSSupport-EC2Rescue:InstanceID

  • AMI abilitata tramite password AWSSupport: -EC2Rescue: AMI abilitata tramite password da Instance ID

È possibile individuare queste AMIs nella console cercando l'ID di esecuzione dell servizio di automazione.

Per Linux, la nuova chiave SSH privata per l'istanza viene salvato e crittografati in Parameter Store. Il nome del parametro è /ec2rl/openssh/instance ID/key.