Estou recebendo uma conexão expirada desde alguns dias em 1 de nossa instância do EC2.
Eu consegui me conectar ao SSH anteriormente, mas de repente ele parou de funcionar. O servidor ainda está funcionando, o HTTPS funciona bem e posso acessar os serviços pelo navegador, mas não o SSH.
Aqui estão os passos que tentei até agora:
- SSH do PAC (cliente Linux SSH) usando o par de chaves: Obtendo um tempo limite. Isso estava funcionando antes, a conexão não mudou
- SSH de outra instância do EC2 usando o host público. Obtendo um tempo limite
- SSH de outra instância do EC2 usando o IP privado. Obtendo um tempo limite
- Em seguida, parei / iniciei a instância, obtive um novo IP, alterei as informações na rota 53, o site voltou a funcionar, mas o SSH com as etapas acima ainda não funciona.
- Eu verifiquei os grupos de segurança (no caso de ter mudado de alguma forma) e a porta 22 é permitida para entrada. Esse mesmo grupo de segurança é usado em outra instância que funciona bem.
- Eu também adicionei meu IP ao grupo por precaução e ainda não funcionou. Eu tenho 4 instâncias na mesma zona de disponibilidade, mas a problemática tem um intervalo de IP diferente (era diferente antes também) O IP público problemático começa com: 35.182.0.1. Outras 3 instâncias de trabalho O IP público começa com: 99.79.
Segui as etapas de solução de problemas localizadas no link abaixo: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
Erro ao conectar-se à sua instância: conexão expirou
- Verifique as regras do grupo de segurança. Você precisa de uma regra de grupo de segurança que permita o tráfego de entrada de seu endereço IPv4 público na porta adequada. Conforme mencionado acima, o security group anexado tem a porta 22 de entrada permitida
- Verifique a tabela de rotas para a sub-rede. Você precisa de uma rota que envie todo o tráfego destinado fora da VPC para o gateway de internet da VPC. Há um gateway de internet conectado ao meu VPC (o mesmo VPC das minhas outras instâncias)
- Verifique a lista de controle de acesso à rede (ACL) da sub-rede. As Network ACLs devem permitir o tráfego de entrada e saída de seu endereço IP local na porta adequada. A Network ACL padrão permite todo o tráfego de entrada e saída. Verificado e as configurações padrão são usadas, todo o tráfego e portas são permitidos para 0.0.0.0/0
- Se o seu computador estiver em uma rede corporativa, pergunte ao administrador da rede se o firewall interno permite o tráfego de entrada e saída do computador na porta 22 (para instâncias do Linux) ou na porta 3389 (para instâncias do Windows). Se você tiver um firewall em seu computador, verifique se ele permite o tráfego de entrada e saída de seu computador na porta 22 (para instâncias do Linux) ou na porta 3389 (para instâncias do Windows). Eu posso me conectar às outras instâncias, isso não é relevante.
- Verifique se sua instância tem um endereço IPv4 público. Caso contrário, você pode associar um endereço IP elástico à sua instância. Para obter mais informações, consulte Endereços IP elásticos. A instância contém um endereço ipv4 público, também possui um DNS público, é aqui que posso ver a diferença entre esta instância e as outras, esta instância em particular é a única com um ip público começando com: 35.182.0.1. enquanto todos os outros começam com 99,79. Isso não era um problema antes, já que o IP também era diferente, poderia estar relacionado de alguma forma?
- Verifique a carga da CPU em sua instância. A carga da CPU e tudo mais está normal, sem picos mantidos.
Aqui estão mais algumas coisas que fiz:
- telnet na porta 22 para uma instância de trabalho, nenhum problema funciona como um encanto, mas o telnet para a instância problemática não funciona, ele simplesmente trava.
- iptables não foram modificados (pelo que sei, sou o único que pode se conectar às instâncias e não fiz isso)
- verifiquei se o proprietário do par de chaves e as permissões do arquivo estão nos valores esperados
- Tentei SSH com o terminal em vez do cliente, mesmos resultados
- Verifiquei os logs do sistema (isso pode ser obtido através do painel do EC2) e não há erros, o sistema inicializa bem, o apache2 está em execução e o site está acessível.
O servidor está executando o ubuntu 18.04, atualização e atualizações padrão que fizemos.
Não tenho mais certeza do que posso fazer, mas se alguém tiver alguma sugestão ou precisar de mais informações, ficarei feliz em fornecê-las.
Obrigada.
Verifique se as conexões de saída na porta 22 são permitidas por meio do AWS Firewall e com o iptables na máquina. Você pode verificar todas as regras do iptables usando
iptables -nvL
.Certifique-se de que a cadeia de saída em iptables esteja definida como ALLOW em vez de DROP, ou certifique-se de que uma regra adequada permitindo conexões novas, estabelecidas e relacionadas para a cadeia de saída esteja configurada.
Ou faça um
netstat -npl
e verifique onde exatamente o SSH está escutando. Se você o vinculou a um endereço IP não elástico que mudou desde então, você terá um problema.EDIT: Como você mencionou que não tem acesso via SSH para emitir comandos, você pode usar o console AWS para emiti-los e observar sua saída:
https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-console.html