Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Perché ricevo l'errore "Server refused our key" quando provo a connettermi alla mia istanza EC2 tramite SSH?
Ricevo l'errore "Server refused our key" quando mi connetto alla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) tramite SSH.
Breve descrizione
Esistono diversi motivi per cui un server SSH (sshd) rifiuta una chiave SSH privata. Di seguito sono riportati alcuni dei motivi più comuni per cui si riceve questo errore:
- Utilizzi un file di chiave privata errato quando provi a connetterti alla tua istanza Amazon EC2. Per ulteriori informazioni, consulta Perché quando mi connetto alla mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) si verifica l’errore “imported-openssh-key” o “Putty Fatal Error”?
- Le impostazioni del server SSH in /etc/ssh/sshd\ _config sono state modificate. Per ulteriori informazioni, consulta Come posso usare SSH per accedere alla mia istanza EC2 dopo aver modificato il file sshd_config dell'istanza?
- Il sistema operativo non è riuscito a montare le directory home (/etc/fstab). Per ulteriori informazioni, consulta Perché la mia istanza Linux EC2 entra in modalità di emergenza quando cerco di avviarla?
Risoluzione
Utilizzi il nome utente errato per la tua AMI quando provi a connetterti alla tua istanza Amazon EC2
I nomi utente consueti sono ec2-user, ubuntu, centos, root o admin. Per un elenco di nomi utente validi, consulta la sezione Error: Server refused our key or No supported authentication methods available.
L'utente è stato eliminato dal server o l'account AWS è stato bloccato
Se l'utente che tenta di accedere all'istanza è stato eliminato dal server, aggiungilo nuovamente come nuovo utente. Per ulteriori informazioni, consulta In che modo è possibile aggiungere nuovi account utente con accesso SSH all'istanza Amazon EC2 per Linux?
Vi sono problemi con le autorizzazioni sull'istanza o manca una directory
Esistono quattro metodi per verificare le autorizzazioni e le directory sull'istanza:
Metodo 1: usa la Console seriale EC2
Se hai attivato la Console seriale Amazon EC2 per Linux, puoi utilizzarla per risolvere i problemi relativi ai tipi di istanze basati su Nitro supportati. Puoi accedere alla console seriale utilizzando la console Amazon EC2 o l'interfaccia della linea di comando AWS (AWS CLI). Per ulteriori informazioni, consulta Configure access to the EC2 Serial Console.
**Metodo 2:**usa Gestione sessione di AWS Systems Manager per accedere all'istanza e verificare le autorizzazioni
Nota: per utilizzare questo metodo è necessaria l'installazione dell'agente SSM. Per ulteriori informazioni su Session Manager e un elenco completo dei prerequisiti, consulta Setting up Session Manager.
-
Apri la console AWS Systems Manager.
-
Usa il comando stat per assicurarti che le autorizzazione dei file nella directory home siano corretti. Di seguito è riportato un elenco di esempio di autorizzazioni corrette:
La cartella home di Linux, /home, (0755/drwxr-xr-x).
La home directory dell'utente, /home/ec2-user/, (0700/drwx------).
Autorizzazione alla directory .ssh, /home/ec2-user/.ssh, (0700/drwx------).
Autorizzazione file authorized_keys, /home/ec2-user/.ssh/authorized_keys, (0600/-rw-------).
Di seguito è riportato un esempio del comando stat e dell'output. In questo esempio, ec2-user è il nome utente. Cambia il nome utente nella tua AMI specifica:$ stat /home/ec2-user/ File: '/home/ec2-user/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 10301h/66305d Inode: 18322 Links: 3 Access: (0700/drwx------) Uid: ( 500/ec2-user) Gid: ( 500/ec2-user)
-
Se le autorizzazioni non corrispondono ai valori precedenti, esegui i seguenti comandi:
$ sudo chown root:root /home$ sudo chmod 755 /home $ sudo chown ec2-user:ec2-user /home/ec2-user -R $ sudo chmod 700 /home/ec2-user /home/ec2-user/.ssh $ sudo chmod 600 /home/ec2-user/.ssh/authorized_keys
-
Esegui una connessione tramite SSH alla tua istanza.
Metodo 3: per correggere automaticamente i problemi che causano l'errore, esegui il documento AWSSupport-TroubleshootSSH
Il documento di automazione AWSSupport-TroubleshootSSH installa lo strumento Amazon EC2Rescue sull'istanza. Quindi il documento di automazione verifica e corregge i problemi che causano errori di connessione remota durante una connessione a una macchina Linux tramite SSH. Per ulteriori informazioni, consulta Ottengo errori durante il tentativo di connettermi alla mia istanza EC2 tramite SSH. Come posso utilizzare il flusso di lavoro di automazione AWSSupport-TroubleshootSSH per risolvere i problemi di connessione SSH?
Metodo 4: usa i dati utente per correggere le autorizzazioni sull'istanza
Importante:
- questa procedura di ripristino richiede l'arresto e il riavvio dell'istanza. Quando si esegue questa operazione, i dati sui volumi dell'archivio dell'istanza vengono persi. Per ulteriori informazioni, consulta Root volumes for your Amazon EC2 instances.
- Se l'istanza fa parte di un gruppo Amazon EC2 Auto Scaling, l'istanza potrebbe terminare quando viene arrestata. Ciò può verificarsi anche su istanze lanciate da servizi che utilizzano Dimensionamento automatico AWS, come Amazon EMR, AWS CloudFormation o AWS Elastic Beanstalk. La terminazione dell'istanza in questo scenario dipende dalle impostazioni di protezione scalabile dell'istanza per il gruppo Auto Scaling. Se la tua istanza fa parte di un gruppo Auto Scaling, rimuovila dal gruppo Auto Scaling prima di iniziare i passaggi di risoluzione. Puoi aggiungere nuovamente l'istanza al gruppo Auto Scaling dopo aver completato i passaggi di risoluzione.
- L'arresto e l'avvio dell'istanza modificano l'indirizzo IP pubblico dell'istanza. È consigliabile utilizzare un indirizzo IP elastico invece di uno pubblico quando instradi il traffico esterno verso l'istanza.
- Non è possibile modificare la chiave SSH con i dati utente se il dispositivo principale dell'istanza è un volume archivio dell'istanza. Per ulteriori informazioni, consulta Root volumes for your Amazon EC2 instances.
- L'aggiornamento dei dati utente dell'istanza si applica a tutte le distribuzioni che supportano le direttive cloud-init. Cloud-init deve essere installato e configurato. Per ulteriori informazioni, consulta SSH - Configure SSH and SSH keys sul sito web Cloud-init.
Completa i seguenti passaggi:
-
Apri la console Amazon EC2, quindi scegli la tua istanza.
-
Scegli Stato dell’istanza, quindi scegli Arresta istanza.
Nota: se Arresta non è disponibile, l'istanza è già stata arrestata o il suo dispositivo principale è un volume archivio dell'istanza. -
Scegli Azioni, quindi Impostazioni istanza, infine scegli Modifica dati utente.
-
Copia il seguente script nel campo Dati utente, quindi seleziona Salva. Assicurati di copiare l'intero comando e di non aggiungere spazi.
Nota: il comando seguente utilizza il nome utente ec2-user. Cambia ec2-user con il nome utente della tua AMI.Content-Type: multipart/mixed; boundary="//"MIME-Version: 1.0 --// Content-Type: text/cloud-config; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cloud-config.txt" #cloud-config cloud_final_modules: - [scripts-user, always] --//Content-Type: text/x-shellscript; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="userdata.txt" #!/bin/bash chown root:root /home chmod 755 /home chown ec2-user:ec2-user /home/ec2-user -R chmod 700 /home/ec2-user /home/ec2-user/.ssh chmod 600 /home/ec2-user/.ssh/authorized_keys --//
-
Avvia l'istanza, quindi usa SSH per connetterti all'istanza.
Nota: per impostazione predefinita, il comando Dati utente viene eseguito una volta per istanza. Questa procedura modifica il comportamento predefinito per aggiungere la chiave pubblica a ogni riavvio, arresto o avvio dell'istanza. Per ripristinare il comportamento predefinito, rimuovi i dati utente personalizzati. È consigliabile seguire i protocolli di sicurezza e consentire l'esecuzione dei dati utente dopo il primo avvio di un'istanza. Modifica i dati utente di un'istanza con il metodo API ModifyInstanceAttribute. Per limitare l'accesso a questo metodo, utilizza le policy IAM.
Informazioni correlate
Connect to your Linux instance using PuTTY
Amazon EC2 key pairs and Amazon EC2 instances
In che modo posso risolvere i problemi di connessione alla mia istanza Linux Amazon EC2 tramite SSH?
Video correlati


Contenuto pertinente
- In che modo posso risolvere i problemi di connessione alla mia istanza Linux Amazon EC2 tramite SSH?AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata un anno fa