Saltar al contenido

¿Por qué se muestran errores cuando uso la consola de SSH basada en el navegador para acceder a mi instancia de Lightsail?

7 minutos de lectura
0

Se muestra un mensaje de error "UPSTREAM_ERROR [515]", "UPSTREAM_NOT_FOUND [519]" o "CLIENT_UNAUTHORIZED [769]" cuando uso la consola de SSH basada en el navegador para conectarme a mi instancia de Amazon Lightsail.

Descripción corta

Es posible que recibas uno de los siguientes mensajes de error:

  • "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]"

Los errores "UPSTREAM_ERROR [515]" y "UPSTREAM_NOT_FOUND [519]" se producen cuando no puedes conectarte a tu instancia de Lightsail a través de la consola de SSH.

Los siguientes motivos pueden provocar problemas de conexión:

  • Se ha producido un error en el arranque de la instancia, se ha producido un error en la comprobación de estado o se han utilizado en exceso los recursos de CPU o memoria.
  • Un firewall a nivel de sistema operativo (OS) bloquea el acceso al puerto SSH.
  • El puerto 22 de SSH no es la configuración de puertos predeterminada.
  • El servicio de SSH está inactivo.

Se produce el error "CLIENT_UNAUTHORIZED [769]" cuando hay un problema de autenticación de SSH en tu instancia de Lightsail.

Los siguientes motivos pueden provocar problemas de autenticación:

  • No has configurado correctamente la clave de sistema de Lightsail /etc/ssh/lightsail_instance_ca.pub.
  • No usaste la configuración de SSH requerida cuando actualizaste la versión de tu instancia de Ubuntu a la 20.04 o posterior.

Resolución

Comprobación del estado y el estado de la instancia

Consulta las métricas de tu instancia para comprobar si hay errores en la comprobación del estado del sistema o de la instancia.

Si hay errores en la comprobación del estado del sistema, detén y reinicia la instancia para migrarla a un hardware en buen estado.

Advertencia: La dirección IP pública de la instancia cambia cada vez que se detiene y se inicia. Si no quieres que la dirección cambie, asigna una dirección IP estática antes de detener la instancia.

Si la comprobación del estado de la instancia falló, es posible que un problema a nivel del sistema operativo haya provocado errores de arranque. O bien, es posible que los recursos de la instancia estén sobreutilizados. Para obtener más información, consulta ¿Cómo puedo solucionar los problemas habituales que pueden hacer que mi instancia de Lightsail no responda?

Resolución de problemas de firewall

Si un firewall a nivel de sistema operativo, como iptables o Uncomplicated Firewall (UFW), bloquea el acceso, realiza una de las siguientes acciones:

  • Si tienes acceso SSH a través de un terminal o PuTTY, elimina las reglas de denegación del firewall y del archivo /etc/hosts.deny. Para las instancias de cPanel, usa la consola del Web Host Manager (WHM) para eliminar las reglas del firewall.
  • Si no tienes acceso SSH, crea una nueva instancia y agrega un script de lanzamiento que desactive el firewall y el archivo /etc/hosts.deny.

Para usar un script de inicio para desactivar los firewalls en el nivel del sistema operativo, sigue estos pasos:

  1. Abre la consola de Lightsail.

  2. Crea una instantánea manual de la instancia.

  3. Crea una nueva instancia a partir de la instantánea.
    Nota: Selecciona la misma zona de disponibilidad que para la instancia anterior.

  4. Elige Agregar un script de lanzamiento y, a continuación, agrega el siguiente 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: El anterior script de ejemplo desactiva el firewall UFW, elimina todas las cadenas o reglas de firewall de iptable y cambia el nombre del archivo /etc/hosts.deny para desactivarlo.

  5. Elige un nuevo plan de instancias o usa el mismo plan que para la instancia anterior.

  6. Introduce un nombre para la instancia y, a continuación, selecciona Crear instancia.

Cuando la nueva instancia comience a ejecutarse, espera entre 10 y 15 minutos y, a continuación, utiliza la consola de SSH basada en el navegador para intentar conectarte a la instancia.

Nota: Si la instancia anterior tenía una dirección IP estática, usa la dirección IP estática en la nueva instancia. En la pestaña Redes de la consola de Lightsail, desasocia la dirección IP estática y, a continuación, asóciala a la nueva instancia.

Resolución de problemas con el servicio de SSH

Si el servicio de SSH no se encuentra en ejecución o no está activo en la instancia, la conexión de SSH fallará y se mostrará el error "UPSTREAM_NOT_FOUND [519]". Para solucionar este problema, configura el Administrador de sesiones, una capacidad de AWS Systems Manager para tu instancia de Lightsail. Luego, accede a la instancia sin el servicio de SSH para solucionar el problema con SSH.

Sigue estos pasos:

  1. Revisa uno de los siguientes archivos de registro de autenticación SSH para comprobar si hay mensajes de error o intentos de autenticación fallidos:
    Archivo de registro de Ubuntu:
    /var/log/auth.log
    Archivo de registro de Amazon Linux:
    /var/log/secure

  2. Si el archivo muestra un mensaje de error, realiza una de las siguientes acciones:
    Si aparece el mensaje "Invalid user" o "Failed password", comprueba la configuración de la clave SSH en el archivo /etc/ssh/sshd_config.
    Si aparece el mensaje "Connection refused", ejecuta el siguiente comando para confirmar que el servicio de SSH se está ejecutando:

    sudo systemctl status sshd

    Si aparece un mensaje de "Permission denied", ejecuta el siguiente comando para comprobar los permisos en tu directorio de SSH y en los archivos de claves:

    sudo chmod 700 ~/.ssh
    sudo chmod 600 ~/.ssh/authorized_keys
  3. Si no hay mensajes de error, ejecuta el siguiente comando para probar y reiniciar la configuración de SSH:

    sudo sshd -t
    sudo systemctl restart sshd

Restauración de la clave del sistema de Lightsail

Si falta la clave /etc**/ssh/lightsail_instance_ca.pub**, sigue estos pasos:

  1. Si tienes acceso SSH a través de un terminal o PuTTY, ejecuta el siguiente comando para verificar la clave ssh-rsa:

    sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa
  2. Realiza una de las siguientes acciones:
    Si la clave existe, ejecuta el siguiente comando para restaurarla:

    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

    Si no has obtenido una clave ssh-rsa o no puedes usar SSH para conectarte a la instancia, crea una instantánea de la instancia. Al iniciar una nueva instancia desde la instantánea, la clave de sistema de Lightsail se agrega automáticamente al servidor.

Configuración de SSH para Ubuntu 20.04 o posterior

Si actualizaste la versión anterior de tu instancia de Ubuntu a la 20.04, debes permitir manualmente a las autoridades de certificación (CA) que usen la clave ssh-rsa para firmar los certificados. Si creaste una instancia para ejecutar la versión 20.04 o posterior de Ubuntu, las CA pueden usar el algoritmo ssh-rsa de forma predeterminada.

Para permitir manualmente las CA, sigue estos pasos:

  1. Usa un cliente de SSH, como el terminal o la aplicación PuTTY, para conectarte a la instancia.

  2. Abre el archivo de configuración de SSH (/etc/ssh/sshd_config).

  3. Agrega los parámetros de CA al archivo para la versión de tu instancia de Ubuntu.

    Ubuntu 20.04:
    Ejecuta el siguiente comando para agregar la línea de parámetros CASignatureAlgorithms al archivo 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:
    Ejecuta el siguiente comando para agregar las líneas de parámetros CASignatureAlgorithms y PubkeyAcceptedAlgorithms al archivo 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. Ejecuta el siguiente comando para validar el contenido del archivo de configuración sshd:

    sudo sshd -T
  5. Ejecuta el siguiente comando para reiniciar el servicio sshd:

    sudo systemctl restart sshd  
    

Información relacionada

¿Qué es Amazon Lightsail?

Conectarse a una instancia de Lightsail y administrarla

OFICIAL DE AWSActualizada hace 6 meses