Salta al contenuto

Perché ricevo errori quando utilizzo la console SSH basata su browser per accedere alla mia istanza Lightsail?

7 minuti di lettura
0

Ricevo un messaggio di errore "UPSTREAM_ERROR [515]", "UPSTREAM_NOT_FOUND [519]" o "CLIENT_UNAUTHORIZED [769]" quando utilizzo la console SSH basata su browser per connettermi alla mia istanza Amazon Lightsail.

Breve descrizione

Ricevi uno dei seguenti messaggi di errore:

  • "Your instance encountered an error and has closed the connection. Try again or contact customer support. UPSTREAM_ERROR [515]"
  • "An error occurred and we were unable to connect or stay connected to your instance. If this instance has just started up, try again in a minute or two. UPSTREAM_NOT_FOUND [519]"
  • "Login failed. If this instance has just started up, try again in a minute or two. CLIENT_UNAUTHORIZED [769]"

Gli errori "UPSTREAM_ERROR [515]" e "UPSTREAM_NOT_FOUND [519]" si verificano quando non riesci a connetterti all'istanza Lightsail tramite la console SSH.

I problemi di connessione possono essere causati dai seguenti motivi:

  • L'avvio di un'istanza non è riuscito, il controllo dello stato non è riuscito o le risorse della CPU o della memoria sono state utilizzate in modo eccessivo.
  • Un firewall a livello di sistema operativo blocca l'accesso alla porta SSH.
  • La porta SSH 22 non è la configurazione della porta predefinita.
  • Il servizio SSH non funziona.

Ricevi l'errore "CLIENT_UNAUTHORIZED [769]" quando c'è un problema di autenticazione SSH nell'istanza Lightsail.

I problemi di autenticazione possono essere causati dai seguenti motivi:

  • Non hai configurato correttamente la chiave di sistema /etc/ssh/lightsail_instance_ca.pub in Lightsail.
  • Non hai utilizzato la configurazione SSH richiesta quando hai aggiornato la versione dell'istanza Ubuntu alla 20.04 o successiva.

Risoluzione

Verifica l'integrità e lo stato dell'istanza

Visualizza le metriche dell'istanza per verificare la presenza di eventuali errori nel controllo dello stato del sistema o dell'istanza.

Se si verificano errori nel controllo dello stato del sistema, arresta e riavvia l'istanza per eseguirne la migrazione su un hardware integro.

Attenzione: l'indirizzo IP pubblico dell'istanza cambia dopo che viene arrestata e avviata. Se non desideri che l'indirizzo cambi, assegna all'istanza un indirizzo IP statico prima di arrestarla.

Se il controllo dello stato dell'istanza ha avuto esito negativo, è possibile che un problema a livello di sistema operativo abbia causato errori di avvio. Oppure le risorse dell'istanza potrebbero essere utilizzate in modo eccessivo. Per ulteriori informazioni, consulta Come posso risolvere i problemi più comuni che causano la mancata risposta della mia istanza Lightsail?

Risolvi i problemi relativi al firewall

Se un firewall a livello di sistema operativo, come iptables o Uncomplicated Firewall (UFW), blocca l'accesso, intraprendi una delle seguenti azioni:

  • Se hai accesso con SSH tramite un terminale o PuTTY, rimuovi le regole di negazione dal firewall e dal file /etc/hosts.deny. Per le istanze cPanel, utiizza la console Web Host Manager (WHM) per rimuovere le regole del firewall.
  • Se non hai accesso con SSH, crea una nuova istanza e aggiungi uno script di avvio che disattivi il firewall e il file /etc/hosts.deny.

Per utilizzare uno script di avvio per disattivare i firewall a livello di sistema operativo, completa i seguenti passaggi:

  1. Apri la console Lightsail.

  2. Crea uno snapshot manuale dell'istanza.

  3. Crea un'istanza dallo snapshot.
    Nota: seleziona la stessa zona di disponibilità dell'istanza precedente.

  4. Scegli Aggiungi script di avvio, quindi aggiungi il seguente script:

    sudo ufw disable
    sudo iptables -F
    sudo mv /etc/hosts.deny /etc/hosts.deny_backup
    sudo touch /etc/hosts.deny
    sudo systemctl enable sshd
    sudo systemctl restart sshd

    Nota: l'esempio di script di esempio precedente disattiva il firewall UFW, cancella tutte le catene iptable o le regole del firewall e rinomina il file /etc/hosts.deny per disattivarlo.

  5. Scegli un nuovo piano di istanza o utilizza lo stesso piano dell'istanza precedente.

  6. Inserisci un nome per l'istanza, quindi scegli Crea istanza.

Dopo l'avvio della nuova istanza, attendi 10-15 minuti, quindi utilizza la console SSH basata su browser per connetterti all'istanza.

Nota: se l'istanza precedente aveva un indirizzo IP statico, assegna l'indirizzo IP statico anche alla nuova. Scegli la scheda Reti della console Lightsail, scollega l'indirizzo IP statico e collegalo alla nuova istanza.

Risolvi i problemi relativi al servizio SSH

Se il servizio SSH non è in esecuzione o non è attivo nell'istanza, la connessione SSH non riesce e viene visualizzato l'errore "UPSTREAM_NOT_FOUND [519]". Per risolvere il problema, configura Gestione sessione, una funzionalità di AWS Systems Manager, per l'istanza Lightsail. Quindi accedi all'istanza senza il servizio SSH per risolverlo.

Completa i seguenti passaggi:

  1. Analizza uno dei seguenti file di log dell'autenticazione SSH per verificare la presenza di messaggi di errore o di tentativi di autenticazione non riusciti:
    File di log di Ubuntu:
    /var/log/auth.log
    File di log di Amazon Linux:
    /var/log/secure

  2. Se il file mostra un messaggio di errore, intraprendi una delle seguenti azioni:
    Per il messaggio "Invalid user" o "Failed password", controlla la configurazione della chiave SSH nel file /etc/ssh/sshd_config.
    Per un messaggio "Connection refused", esegui questo comando per verificare che il servizio SSH sia in esecuzione:

    sudo systemctl status sshd

    Per un messaggio "Permission denied", esegui questo comando per verificare le autorizzazioni sulla directory SSH e sui file della chiave:

    sudo chmod 700 ~/.ssh
    sudo chmod 600 ~/.ssh/authorized_keys
  3. Se non sono presenti messaggi di errore, esegui questo comando per testare e riavviare la configurazione SSH:

    sudo sshd -t
    sudo systemctl restart sshd

Ripristina la chiave di sistema in Lightsail

Se manca la chiave /etc**/ssh/lightsail_instance_ca.pub**, completa i seguenti passaggi:

  1. Se hai accesso con SSH tramite un terminale o PuTTY, esegui questo comando per verificare la chiave ssh-rsa:

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. Intraprendi una delle seguenti azioni:
    Se la chiave esiste, esegui questo comando per ripristinarla:

    sudo sh -c "cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa > /etc/ssh/lightsail_instance_ca.pub"
        sudo sh -c "echo >> /etc/ssh/sshd_config"
        sudo sh -c "echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config"
        sudo systemctl restart sshd

    Se non ottieni una chiave ssh-rsa o se non puoi utilizzare SSH per connetterti all'istanza, crea uno snapshot dell'istanza. Quando avvii una nuova istanza dallo snapshot, la chiave di sistema di Lightsail viene aggiunta automaticamente al server.

Configura SSH per Ubuntu 20.04 o versioni successive

Se hai aggiornato la versione precedente dell'istanza Ubuntu alla 20.04, devi consentire manualmente alle autorità di certificazione (CA) di utilizzare la chiave ssh-rsa per firmare i certificati. Se hai creato un'istanza per eseguire Ubuntu versione 20.04 o successiva, le CA possono utilizzare l'algoritmo ssh-rsa per impostazione predefinita.

Per consentire manualmente le CA, completa i seguenti passaggi:

  1. Utilizza un client SSH, come il terminale o l'applicazione PuTTY per connetterti all'istanza.

  2. Aprire il file di configurazione /etc/ssh/sshd_config.

  3. Aggiungi i parametri CA al file per la versione dell'istanza Ubuntu.

    Ubuntu 20.04:
    Esegui questo comando per aggiungere la riga del parametro CASignatureAlgorithms al file sshd_config:

    sudo vi /etc/ssh/sshd_config
    cat /etc/ssh/sshd_config | egrep "CASignature"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

    Ubuntu 22.04:
    Esegui questo comando per aggiungere le righe dei parametri CASignatureAlgorithms e PubkeyAcceptedAlgorithms al file sshd_config:

    sudo vi /etc/ssh/sshd_config
    cat /etc/ssh/sshd_config | egrep "CASignature|PubkeyAccepted"
    CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa-cert-v01@openssh.com,ssh-rsa
  4. Esegui questo comando per convalidare il contenuto del file di configurazione sshd:

    sudo sshd -T
  5. Esegui questo comando per riavviare il servizio sshd:

    sudo systemctl restart sshd  
    

Informazioni correlate

Che cos'è Amazon Lightsail?

Connettiti e gestisci la tua istanza Lightsail

AWS UFFICIALEAggiornata 5 mesi fa