Salta al contenuto

Perché non riesco utilizzare Gestione sessione per connettermi alla mia istanza Amazon EC2?

6 minuti di lettura
0

Non riesco a utilizzare Gestione sessione, una funzionalità di AWS Systems Manager, per accedere alla mia istanza Amazon Elastic Compute Cloud (Amazon EC2).

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

I seguenti motivi possono impedire a Gestione sessione di connettersi all'istanza EC2:

  • Prerequisiti di Gestione sessione non soddisfatti
  • Problemi con le autorizzazioni di AWS Identity and Access Management (AWS IAM)
  • Configurazioni errate delle preferenze di Gestione sessione
  • Problemi con il plugin Gestione sessione
  • Problemi di connettività

Per identificare la causa principale dei problemi di connessione e verificare la presenza di messaggi di errore, controlla i log dell'Agente AWS Systems Manager (Agente SSM).

Verifica che i prerequisiti di Gestione sessione siano soddisfatti

Assicurati che l'istanza utilizzi nodi gestiti e che la configurazione sia conforme ai prerequisiti di Gestione sessione. Per ulteriori informazioni, consulta Perché Systems Manager non mostra la mia istanza Amazon EC2 come istanza gestita?

Se esegui la versione 3.1.501.0 dell'Agente SSM, puoi utilizzare ssm-cli per verificare se l'istanza soddisfa i prerequisiti di Gestione sessione. Lo strumento ssm-cli determina il motivo per cui Systems Manager non include un'istanza in esecuzione nell'elenco delle istanze gestite.

Verifica che l'utente o il ruolo IAM disponga delle policy IAM necessarie

Verifica che l'utente o il ruolo IAM che utilizzi per connetterti all'istanza EC2 disponga delle politiche e delle autorizzazioni IAM necessarie per Gestione sessione.

Risolvi i problemi nell'impostazione delle preferenze di Gestione sessione

Verifica la configurazione di AWS KMS

Puoi attivare la crittografia del Servizio AWS di gestione delle chiavi (AWS KMS) in Gestione sessione. Se attivi AWS KMS e l'istanza non riesce a raggiungere gli endpoint di AWS KMS, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: ----------ERROR------- Encountered error while initiating handshake. Handshake timed out. Please ensure that you have the latest version of the session manager plugin."

Per verificare la connettività agli endpoint di AWS KMS, esegui questo comando:

telnet kms.RegionID.amazonaws.com 443

Nota: sostituisci RegionID con la tua Regione AWS.

Se l'output mostra che non riesci a connetterti all'endpoint di AWS KMS, configura una connessione all'endpoint del cloud privato virtuale (VPC) di AWS KMS.

Se il profilo dell'istanza o l'utente IAM non ha l'autorizzazione kms:Decrypt sulla chiave, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: ----------ERROR------- Encountered error while initiating handshake. Fetching data key failed: Unable to retrieve data key, Error when decrypting data key AccessDeniedException: User: arn:aws:sts::account id:assumed-role/instance-profile/instance-id is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:region:account id:key/key-id because no identity-based policy allows the kms:Decrypt action status code: 400"

Per risolvere il problema, aggiungi l'autorizzazione kms:Decrypt per la chiave AWS KMS che utilizzi per crittografare la sessione.

Se il nome della risorsa Amazon (ARN) della chiave AWS KMS specificata in Gestione sessione non è corretta o non esiste più, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: Error calling KMS GenerateDataKey API: NotFoundException: Key 'arn:aws:kms:region:account:key/abcdxyz' does not exist"

Per risolvere il problema, controlla l'ARN della chiave AWS KMS per assicurarti che sia corretto.

Verifica la configurazione di Amazon S3

Puoi archiviare i dati della sessione in un bucket Amazon Simple Storage Service (Amazon S3). Se utilizzi la crittografia dei log e il profilo dell'istanza non ha l'autorizzazione s3:GetEncryptionConfiguration, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: Couldn't start the session because we are unable to validate encryption on Amazon S3 bucket. Error: AccessDenied: User:abcd is not authorized to perform: s3:GetEncryptionConfiguration on resource"

Per risolvere il problema, aggiungi le autorizzazioni s3:GetEncryptionConfiguration al profilo dell'istanza.

Se il bucket S3 configurato in Gestione sessione non esiste, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: Couldn't start the session because we are unable to validate encryption on Amazon S3 bucket. Error: NoSuchBucket: The specified bucket does not exist status code: 404"

Per risolvere il problema, verifica che il bucket specificato in Gestione sessione sia corretto e disponibile.

Controlla la configurazione del sistema operativo

Se attivi l’opzione Abilitazione del supporto Esegui come per le istanze Linux, puoi avviare sessioni con le credenziali utente del sistema operativo. Tuttavia, se il nome utente del sistema operativo non esiste, ricevi il seguente messaggio di errore:

"Your session has been terminated for the following reasons: ----------ERROR------- Unable to start command: failed to start pty since RunAs user username does not exist "

Per risolvere il problema, assicurati di utilizzare il nome utente predefinito corretto per il tuo sistema operativo o il nome utente personalizzato esatto.

Importante: non puoi utilizzare l'account utente root del sistema operativo per autenticare le connessioni con Gestione sessione.

Risolvi i problemi relativi al plugin Gestione sessione

Se il volume Amazon Elastic Block Store (Amazon EBS) principale dell'istanza è pieno, l'Agente SSM non può creare i file richiesti. Ricevi il seguente errore:

"Your session has been terminated for the following reasons: Plugin with name Standard_Stream not found. Step name: Standard_Stream"

Per risolvere il problema, aumenta la dimensione del volume Amazon EBS, quindi estendi il file system. Oppure elimina i file che non utilizzi per liberare più spazio su disco nell'istanza.

Se utilizzi AWS CLI per connetterti all'istanza, devi installare il plugin Gestione sessione sul computer locale. Se non installi il plugin, ricevi il seguente messaggio di errore:

"SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found"

Risolvi i problemi di connettività

Dopo aver avviato una sessione di Gestione sessione, potresti vedere una schermata vuota con un cursore lampeggiante. Se si verifica questo problema, il computer locale potrebbe non essere connesso all'endpoint di Gestione sessione.

Per verificare la connettività all'endpoint di Gestione sessione di AWS Systems Manager, esegui questo comando in base al sistema operativo.

Linux:

telnet ssmmessages.RegionID.amazonaws.com 443

Nota: sostituisci RegionID con la tua Regione.

Windows:

Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443

Nota: sostituisci RegionID con la tua Regione.

Se l'istanza si trova in una sottorete privata, consulta Come posso creare endpoint Amazon VPC in modo da poter utilizzare Systems Manager per gestire istanze private Amazon EC2 senza accesso a Internet?

Per altri scenari di risoluzione dei problemi, consulta Come posso risolvere i problemi con Gestione sessione di AWS Systems Manager?

Informazioni correlate

Risoluzione dei problemi di Gestione sessione

Come faccio a usare un tunnel SSH tramite AWS Systems Manager per accedere alle mie risorse VPC private?

Consenti e controlla le autorizzazioni per le connessioni SSH tramite Gestione sessione

Abilitazione e disabilitazione della registrazione di sessione

AWS UFFICIALEAggiornata un anno fa