O erro Connection timed out no SSH indica que uma etapa da conexão não foi concluída dentro do tempo permitido. Investigue endereço, porta, caminho de rede, filtros e serviço antes de alterar autenticação. Aumentar o timeout não resolve uma porta bloqueada.
Diferencie os erros
| Mensagem | O que ela ajuda a investigar |
|---|---|
| Connection timed out | Ausência de resposta na etapa indicada pelo diagnóstico; filtros, rota, indisponibilidade ou sobrecarga são possibilidades |
| Connection refused | Houve recusa da conexão; confira porta, serviço em escuta e regras que rejeitam tráfego |
| Permission denied | A conexão chegou à autenticação; investigue usuário, chave e política de acesso |
| Alerta de chave do servidor alterada | Verifique a identidade do servidor antes de aceitar outra chave |
O manual do OpenSSH documenta o modo detalhado e as opções de conexão. O estágio mostrado pelo cliente importa mais que uma tentativa de correção genérica.
1. Confirme IP, usuário e porta
Use os dados do servidor e da instalação atual. A porta padrão é 22, mas uma configuração pode utilizar outra. Se estiver usando um domínio, confirme que ele resolve para o endereço correto; um registro usado para um site não é necessariamente o endereço de acesso administrativo.
Do computador cliente, faça uma tentativa com diagnóstico:
ssh -vv -o ConnectTimeout=10 -p PORTA usuario@IP_DO_SERVIDOR
Substitua os marcadores. Leia onde a conexão parou. Não compartilhe o log integral sem revisar endereços, nomes e caminhos que possam aparecer nele.
Se o cliente já autentica e a sessão cai depois, o problema é diferente de um timeout ao iniciar a conexão. Opções de keepalive não abrem portas nem corrigem um bloqueio de rede.
2. Teste a conexão TCP pelo cliente
No Windows PowerShell:
Test-NetConnection -ComputerName IP_DO_SERVIDOR -Port PORTA
Em sistemas com uma implementação compatível de netcat:
nc -vz -w 5 IP_DO_SERVIDOR PORTA
O resultado deve ser interpretado junto ao diagnóstico SSH. Compare outra rede autorizada para identificar um bloqueio específico do endereço de origem. Ping sem resposta não prova que o SSH está indisponível, pois ICMP pode ser filtrado separadamente.
3. Confira o serviço pelo console
Se o SSH não conecta, utilize um acesso alternativo disponível para o servidor. Verifique o nome do serviço na distribuição; pode ser ssh ou sshd.
sudo systemctl status ssh --no-pager
sudo ss -ltnp
sudo sshd -t
O primeiro comando é um exemplo para sistemas com a unidade ssh. A lista de sockets mostra endereços e portas em escuta. O teste sshd -t identifica problemas de configuração; não garante que o firewall ou a rede permitam a conexão.
Use a configuração efetiva do daemon para conferir a porta e o endereço de escuta. Ler apenas uma linha de /etc/ssh/sshd_config pode omitir arquivos incluídos e opções adicionais da instalação.
4. Revise filtros sem remover a proteção
Confira o firewall local, eventuais filtros de rede do provedor e bloqueios por ferramentas como Fail2ban. Uma regra precisa permitir a porta efetiva e o endereço ou a rede de origem desejados.
Em um ambiente com UFW, comece pela consulta:
sudo ufw status numbered
Não desative todo o firewall e não acrescente regras iptables aleatórias. A posição de uma regra, as políticas existentes e a ferramenta que administra o firewall afetam o resultado. Se precisar mudar uma regra, mantenha o console aberto e teste uma segunda conexão antes de encerrar o acesso atual.
Se houver suspeita de banimento, consulte o guia de Fail2ban. Só remova um bloqueio após identificar o endereço e confirmar que a tentativa de acesso é legítima.
5. Quando encaminhar o diagnóstico
Se a porta está em escuta e os filtros locais foram revisados, registre horário, IP de destino, porta, endereço de origem e resultado do teste TCP. Envie esses dados pelo canal de suporte autorizado, sem senhas ou chaves privadas. Eles ajudam a distinguir problema de rede, bloqueio e falha do serviço.
Para um ambiente novo, confira as opções de servidor VPS. A escolha do plano não elimina a necessidade de configurar e manter o acesso administrativo de acordo com as condições do serviço.