Por que estou recebendo os erros UPSTREAM_ERROR, UPSTREAM_NOT_FOUND ou CLIENT_UNAUTHORIZED ao acessar minha instância do Lightsail usando o console SSH baseado em navegador?

Data da última atualização: 24/11/2021

Estou recebendo uma das seguintes mensagens de erro ao me conectar à minha instância do Amazon Lightsail usando o console SSH baseado em navegador:

  • Sua instância encontrou um erro e fechou a conexão. Tente novamente ou entre em contato com o suporte ao cliente. UPSTREAM_ERROR [515]
  • Ocorreu um erro e não conseguimos nos conectar ou permanecer conectados à sua instância. Se esta instância tiver acabado de ser iniciada, tente novamente em um minuto ou dois. UPSTREAM_NOT_FOUND [519]
  • O login falhou. Se esta instância tiver acabado de ser iniciada, tente novamente em um minuto ou dois. CLIENT_UNAUTHORIZED [769]

Como corrijo estes erros?

Descrição breve

Os erros UPSTREAM_ERROR [515] e UPSTREAM_NOT_FOUND [519] indicam que sua instância do Lightsail não pode ser alcançada ao usar SSH. A seguir estão os motivos comuns para estes erros:

  • Falhas de inicialização da instância, falhas na verificação de status da instância. ou utilização excessiva de recursos na instância.
  • Um firewall no nível do sistema operacional está bloqueando o acesso à porta SSH.
  • A porta SSH padrão (22) é alterada para outra.
  • O serviço SSH está inativo.

O erro CLIENT_UNAUTHORIZED [769] indica que há um problema de autenticação SSH na instância do Lightsail. A seguir estão os motivos comuns para o erro:

  • Configuração incorreta da chave do sistema Lightsail em /etc/ssh/lightsail_instance_ca.pub.
  • Você atualizou sua instância do Ubuntu de uma versão mais antiga para 20.04 ou posterior.

Resolução

Falhas de inicialização de instâncias, falhas na verificação de status da instância ou utilização excessiva de recursos na instância

Visualize as métricas de verificação de status da instância para determinar se a instância falhou na verificação de status do sistema ou na verificação de status da instância.

Verificação do status do sistema

Se a verificação de status do sistema falhar, o hardware subjacente da instância não estará íntegro. Para corrigir o problema, pare e inicie a instância. Isso migra a instância para um hardware saudável.

Aviso: esteja ciente de que o endereço IP público da instância muda a cada parada e início da instância. Se você quiser que o endereço IP permaneça o mesmo em cada parada e início da instância, anexe um endereço IP estático.

Verificação de status da instância

Se a verificação de status da instância falhar, um problema no nível do sistema operacional pode estar causando erros de inicialização. Ou, os recursos da instância, como CPU ou memória, podem ser utilizados em excesso. Para obter as etapas de solução de problemas, consulte Como solucionar problemas comuns que fazem com que minha instância do Lightsail pare de responder?

Um firewall no nível do sistema operacional está bloqueando o acesso à porta SSH

O acesso SSH baseado em navegador usa o endereço IP interno da Amazon para se conectar à sua instância do Lightsail. Se firewalls no nível do sistema operacional, como Iptables, UFW e assim por diante, ou arquivos de controle de acesso, como/etc/hosts.deny (ou seja, controle deaAcesso de hosts em instâncias baseadas em cPanel), permitirem acesso SSH apenas a um conjunto de endereços IP e negarem todos os outros, você receberá o erro UPSTREAM_NOT_FOUND [519] ou UPSTREAM_ERROR [515]. O mesmo problema ocorre se o firewall estiver bloqueando completamente o acesso SSH.

Para resolver o problema, siga um destes procedimentos:

  • Se o acesso SSH à instância usando o terminal ou a aplicação PuTTY funcionar, faça login na instância e remova as regras de negação do firewall e do arquivo /etc/hosts.deny.
  • Se você tiver uma instância cPanel, acesse o console WHM para remover as regras de firewall.
  • Se você não conseguir se conectar à instância usando SSH do terminal ou da aplicação PuTTY, desative o firewall usando um script de execução. O script de execução só pode ser adicionado durante a execução de uma instância. Para usar um script de inicialização para desativar firewalls no nível do sistema operacional, Iptables e UFW, faça o seguinte:

1.    Abra o console do Amazon Lightsail.

2.    Crie um snapshot manual da instância.

3.    Na guia Snapshots, emSnapshots manuais, selecione os três pontos ao lado do novo snapshot.

4.    Selecione Criar nova instância.

5.    Selecione a mesma zona de disponibilidade da instância anterior.

6.    Selecione Adicionar script de inicialização e, em seguida, adicione o seguinte script.

Observação: o exemplo a seguir desabilita o firewall UFW, libera todas as cadeias iptable ou regras de firewall e desativa o arquivo /etc/hosts.deny renomeando-o.

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.    Escolha um novo plano de instância ou use o mesmo plano da instância anterior.

8.    Insira um nome para a instância e selecione Criar instância.

Depois que a nova instância começar a ser executada, aguarde de 10 a 15 minutos e tente se conectar a ela usando o console SSH baseado em navegador.

Observação: se a instância anterior tiver um endereço IP estático, você poderá usá-lo na nova instância. Desanexe o endereço IP estático e, em seguida, anexe-o à nova instância na guia Rede. Para obter mais informações, consulte Endereços IP estáticos no Amazon Lightsail.

O serviço SSH está inativo

Se o serviço SSH não estiver em execução ou estiver ativo na instância, a conexão SSH falhará e você receberá o erro UPSTREAM_NOT_FOUND [519]. Para solucionar o problema, configure o serviço AWS Systems Manager Session Manager para sua instância do Lightsail. Depois de configurar o gerenciador de sessões, acesse a instância sem o serviço SSH e corrija o problema de SSH.

As etapas básicas de solução de problemas de SSH incluem:

  • Revise os logs de autenticação SSH no arquivo /var/log/auth.log ou/var/log/secure, dependendo da distribuição do SO, para identificar os erros.
  • Teste a sintaxe do arquivo de configuração SSH e corrija os erros.
sudo sshd -t
sudo systemctl restart sshd

Configuração incorreta da chave de sistema Lightsail /etc/ssh/lightsail_instance_ca.pub

O Lightsail usa a chave de sistema /etc/ssh/lightsail_instance_ca.pub para ativar o acesso SSH baseado em navegador. Se o arquivo estiver ausente, a autenticação SSH falhará e você receberá o erro CLIENT_UNAUTHORIZED [769]. O mesmo erro ocorre quando a chave de sistema do Lightsail não é especificada no parâmetro TrustedUserCakeys no arquivo de configuração SSH /etc/ssh/sshd_config.

Se a conexão SSH com a instância por meio do terminal ou da aplicação PuTTY funcionar, faça login na instância e confirme se o arquivo /etc/ssh/sshd_config existe e se ele contém a chave ssh-rsa.

Se o arquivo estiver ausente, recrie o arquivo usando as seguintes etapas:

1.    Execute o seguinte comando e confirme se você obtém a chave ssh-rsa na saída do comando:

sudo cat /var/lib/cloud/instance/user-data.txt | grep ^ssh-rsa

2.    Se o comando retornar a chave ssh-rsa na saída, execute os seguintes comandos para copiá-la para /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 você não receber uma chave ssh-rsa da etapa 1, ou se não conseguir fazer SSH para a instância usando o terminal ou a aplicação PuTTY, crie um instantâneo manual da instância e execute uma nova instância com esse snapshot. A chave do sistema Lightsail é adicionada ao servidor automaticamente na inicialização da instância.

Você atualizou de uma versão mais antiga do Ubuntu para 20.04 ou posterior

Para instâncias que executam o Ubuntu 20.04 ou posterior, você deve permitir que as autoridades de certificação (CAs) usem o algoritmo ssh-rsa para assinar certificados. Caso contrário, a autenticação falhará e você receberá o erro CLIENT_UNAUTHORIZED [769]. As CAs têm permissão para usar o algoritmo ssh-rsa por padrão nas instâncias do Ubuntu 20.04. No entanto, se você atualizar sua versão mais antiga do Ubuntu para 20.04, deverá permitir manualmente as CAs. Para isso, faça o seguinte:

1.    Conecte-se à instância usando um cliente SSH, como o terminal ou a aplicação PuTTY.

2.    Abra o arquivo de configuração SSH (/etc/ssh/sshd_config).

2.    Adicione ssh_rsa na linha CasignatureAlgorithms. O exemplo a seguir mostra a linha CASignatureAlgorithms após modificá-la para adicionar ssh_rsa:

CASignatureAlgorithms ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

3.    Execute o seguinte comando para reiniciar o serviço sshd:

$ sudo systemctl restart sshd

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?