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 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

Se ricevi errori relativi a SSH quando ti connetti alla tua istanza Lightsail, potresti visualizzare i seguenti messaggi:

  • "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] indicano che non è possibile raggiungere la l’istanza Lightsail tramite SSH. I motivi più comuni di questi errori sono i seguenti:

  • Ci sono problemi con l'istanza, ad esempio un errore di avvio, un errore nel controllo dello stato o un utilizzo eccessivo delle risorse.
  • Un firewall a livello di sistema operativo sta bloccando l'accesso alla porta SSH.
  • La porta SSH (22) non è l'impostazione predefinita.
  • Il servizio SSH non funziona.

L'errore CLIENT_UNAUTHORIZED [769] indica che c'è un problema di autenticazione SSH nella tua istanza Lightsail. I motivi più comuni di questo errore sono i seguenti:

  • La chiave di sistema /etc/ssh/lightsail_instance_ca.pub non è stata configurata correttamente.
  • Hai aggiornato la versione dell'istanza di Ubuntu alla 20.04 o successiva.

Risoluzione

Si è verificato un errore di avvio dell'istanza, un errore nel controllo dello stato dell'istanza o un utilizzo eccessivo delle risorse

Visualizza le imetriche dell'stanza per determinare che l'istanza non abbia superato il controllo dello stato del sistema o il controllo dello stato dell'istanza.

Controllo dello stato del sistema

Se il controllo dello stato del sistema non è riuscito, l'hardware sottostante dell'istanza non è integro. Per risolvere il problema, interrompi e avvia l'istanza per migrare l'istanza su hardware integro.

**Attenzione:**l'indirizzo IP pubblico dell'istanza cambia dopo l'arresto e l'avvio dell'istanza. Se non desideri che l'indirizzo IP pubblico cambi a ogni arresto e avvio, collega un indirizzo IP statico prima di interrompere l'istanza.

Controllo dello stato dell'istanza

Se il controllo dello stato dell'istanza non è riuscito, un problema a livello di sistema operativo potrebbe causare errori di avvio. Oppure, le risorse dell'istanza, come CPU o memoria, potrebbero essere sovrautilizzate. Per la procedura di risoluzione dei problemi, vedi Come posso risolvere i problemi più comuni che causano la mancata risposta della mia istanza Lightsail?

Un firewall a livello di sistema operativo sta bloccando l'accesso alla porta SSH

L'accesso SSH basato su browser utilizza l'indirizzo IP interno di Amazon per connettersi alla tua istanza Lightsail. Alcuni firewall e file di controllo degli accessi a livello di sistema operativo consentono l'accesso SSH a un solo set di indirizzi IP. In questo caso, viene visualizzato l'errore UPSTREAM_NOT_FOUND [519] o UPSTREAM\ _ERROR\ [515]. Lo stesso problema si verifica quando un firewall blocca completamente l'accesso SSH.

**Nota:**esempi di firewall a livello di sistema operativo includono Iptables e UFW. Un esempio di file di controllo è /etc/hosts.deny che ospita il controllo degli accessi in istanze basate su cPanel.

Per risolvere questo errore, esegui una delle seguenti azioni:

  • Se puoi usare SSH per accedere all'istanza dal terminale o dall'applicazione PuTTY, accedi all'istanza. Rimuovi le regole di negazione dal firewall e dal file /etc/hosts.deny.
  • Se hai un'istanza cPanel, accedi alla console WHM per rimuovere le regole del firewall.
  • Se non riesci a usare SSH per connetterti all'istanza dal terminale o dall'applicazione PuTTY, usa uno script di avvio per disattivare il firewall. Puoi aggiungere lo script di avvio solo quando avvii un'istanza.

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

  1. Apri la console Amazon Lightsail.

  2. Crea uno snapshot manuale.

  3. Nella scheda Snapshot in Snapshot manuali, scegli i tre punti accanto al nuovo snapshot.

  4. Scegli Crea nuova istanza.

  5. Seleziona la stessa zona di disponibilità dell'istanza precedente.

  6. Scegli Aggiungi script di avvio, quindi aggiungi il seguente script.
    **Nota:**il seguente script di esempio disattiva il firewall UFW, cancella tutte le catene di Iptable o le regole del firewall e rinomina il file /etc/hosts.deny per disattivarlo:

    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
  7. Scegli un nuovo piano di istanza o utilizza lo stesso piano dell'istanza precedente.

  8. 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 provare a connetterti all'istanza.

**Nota:**se l'istanza precedente aveva un indirizzo IP statico, utilizza l'indirizzo IP statico sulla nuova istanza. Nella scheda Rete della console Lightsail, scollega l'indirizzo IP statico e collegalo alla nuova istanza.

Il servizio SSH non funziona

Se il servizio SSH non è in esecuzione o non è attivo sull'istanza, la connessione SSH non riesce e viene visualizzato l'errore UPSTREAM\ _NOT\ _FOUND\ [519]. Per risolvere questo problema, configura AWS Systems Manager Session Manager per la tua istanza Lightsail. Quindi, accedi all'istanza senza il servizio SSH per risolvere il problema SSH.

I passaggi di base per la risoluzione dei problemi SSH includono:

  • A seconda della distribuzione del sistema operativo, rivedi i log di autenticazione SSH nel file /var/log/auth.log o /var/log/secure per identificare gli errori.
  • Verifica la sintassi del file di configurazione SSH e correggi eventuali errori:
sudo sshd -t
sudo systemctl restart sshd

Le chiave di sistema /etc/ssh/lightsail\ _instance\ _ca.pub Lightsail non è stata configurata correttamente

Lightsail utilizza la chiave di sistema /etc/ssh/lightsail\ _instance\ _ca.pub per attivare l'accesso SSH basato sul browser. Se questo file è mancante, l'autenticazione SSH non riesce e viene visualizzato l'errore CLIENT\ _UNAUTHORIZED\ [769]. Lo stesso errore si verifica quando la chiave di sistema Lightsail non è specificata nel parametro TrustedUserCAKeys nel file di configurazione SSH **/etc/ssh/sshd\ _config **.

Se puoi usare SSH per connetterti all'istanza tramite il terminale o l'applicazione PuTTY, accedi all'istanza. Verifica che il file /etc/ssh/sshd\ _config esista e che contenga la chiave ssh-rsa.

Se il file è mancante, completa i seguenti passaggi per ricrearlo:

  1. Esegui il comando seguente per confermare di avere la chiave ssh-rsa nell'output del comando:

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. Se il comando restituisce la chiave ssh-rsa nell'output, esegui i seguenti comandi per copiarla in /etc/ssh/lightsail\ _instance\ _ca.pub:

    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
  3. Se non ottieni una chiave ssh-rsa o non puoi usare SSH per connetterti all'istanza, crea uno snapshot dell'istanza. Quando avvii una nuova istanza dallo snapshot, la chiave di sistema Lightsail viene aggiunta automaticamente al server all'avvio dell'istanza.

Hai aggiornato la versione dell'istanza di Ubuntu alla 20.04 o successiva

Per le istanze che eseguono Ubuntu 20.04 o versioni successive, devi consentire alle autorità di certificazione (CA) di utilizzare l'algoritmo ssh-rsa per firmare i certificati. In caso contrario, l'autenticazione non riesce e viene visualizzato l'errore CLIENT\ _UNAUTHORIZED\ [769]. Nell'istanza di Ubuntu versione 20.04 o successiva, le CA possono utilizzare l'algoritmo ssh-rsa per impostazione predefinita. Tuttavia, se aggiorni la versione precedente dell'istanza di Ubuntu alla 20.04, devi consentire manualmente le CA.

Per consentire manualmente le CA, completa i seguenti passaggi:

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

  2. Apri il file di configurazione SSH (/etc/ssh/sshd\ _config).

  3. Aggiungi i parametri CA al file per la versione della tua istanza di Ubuntu:

    Versione dell'istanza di Ubuntu aggiornata alla 20.04

    Inseriesci manualmente la riga del parametro CASignatureAlgorithms nel 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

    Versione dell'istanza di Ubuntu aggiornata alla 22.04

    Inserisci manualmente le righe dei parametri CASignatureAlgorithms e PubKeyAcceptedAlgorithms nel 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 il comando seguente per convalidare il contenuto del file di configurazione sshd:

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

    $ sudo systemctl restart sshd
AWS UFFICIALE
AWS UFFICIALEAggiornata 6 mesi fa