7 min de leitura · Guia técnico
Solucionar erro 'Connection timed out' no SSH ocorre quando há problemas de conectividade, firewall bloqueando a porta 22 ou configuração incorreta do serviço SSH. A solução envolve verificar o status do serviço, configurar firewall e testar conectividade. Veja abaixo como diagnosticar e corrigir este problema comum.
Pré-requisitos
- Acesso físico ou console ao servidor (IPMI, KVM ou painel de controle)
- Conhecimento básico de comandos Linux
- Permissões de root ou sudo no servidor
- Cliente SSH instalado na máquina local (PuTTY, OpenSSH ou terminal)
Verificando o status do serviço SSH
O primeiro passo para solucionar erro 'Connection timed out' no SSH é verificar se o serviço está executando corretamente no servidor. O daemon SSH pode estar parado ou com falha na inicialização.
Acesse o servidor via console e execute o comando para verificar o status:
systemctl status ssh
Em sistemas CentOS/RHEL, o serviço pode ter nome diferente:
systemctl status sshd
Output esperado quando o serviço está ativo:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-01-15 10:30:45 UTC; 2h 15min ago
Se o serviço estiver inativo, inicie-o com:
systemctl start ssh
systemctl enable ssh
Verifique também se o SSH está escutando na porta correta:
netstat -tlnp | grep :22
Output esperado:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp6 0 0 :::22 :::* LISTEN 1234/sshd
Configurando firewall para permitir SSH
Firewalls mal configurados são a causa mais comum do erro de timeout SSH. O UFW (Uncomplicated Firewall) e iptables podem estar bloqueando conexões na porta 22.
Para sistemas com UFW, verifique o status atual:
ufw status
Se o SSH não estiver permitido, adicione a regra:
ufw allow ssh
ufw allow 22/tcp
Para sistemas usando iptables diretamente, verifique as regras atuais:
iptables -L INPUT -n
Adicione regra para permitir SSH se necessário:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables-save > /etc/iptables/rules.v4
Atenção: Sempre teste a conectividade SSH antes de desconectar do console, pois regras incorretas podem bloquear completamente o acesso remoto.
Testando conectividade de rede
Problemas de conectividade SSH podem estar relacionados à rede, roteamento ou configuração de porta. É essencial testar a conectividade antes de assumir que o problema está no servidor.
Do cliente, teste se a porta SSH está acessível:
telnet IP_DO_SERVIDOR 22
Output esperado se a conexão for bem-sucedida:
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.4
Use nmap para verificar se a porta está aberta:
nmap -p 22 IP_DO_SERVIDOR
Teste também com timeout personalizado no SSH:
ssh -o ConnectTimeout=30 usuario@IP_DO_SERVIDOR
Se você alterou a porta SSH padrão, verifique a configuração em:
grep "^Port" /etc/ssh/sshd_config
Verificando configuração do SSH
Configurações incorretas no arquivo sshd_config podem causar falhas na inicialização do serviço SSH ou comportamentos inesperados. É importante validar as principais diretivas de configuração.
Examine o arquivo de configuração principal:
cat /etc/ssh/sshd_config | grep -E "^(Port|ListenAddress|PermitRootLogin|PasswordAuthentication)"
Teste a configuração antes de reiniciar o serviço:
sshd -t
Se não houver erros, o comando não retorna output. Em caso de erro, você verá mensagens como:
/etc/ssh/sshd_config line 15: Bad configuration option: InvalidOption
Verifique se o SSH está configurado para aceitar conexões de todos os IPs:
grep "^ListenAddress" /etc/ssh/sshd_config
Se não houver saída, o SSH escuta em todos os endereços por padrão. Após alterações, reinicie o serviço:
systemctl restart ssh
Problemas comuns e como resolver
Sintoma: SSH conecta mas desconecta imediatamente
Causa: Configuração de autenticação restritiva ou problemas com chaves SSH.
Solução: Verifique os logs em /var/log/auth.log e ajuste as configurações de PermitRootLogin e PasswordAuthentication conforme necessário.
Sintoma: Timeout apenas de IPs específicos
Causa: Fail2ban ou regras de firewall bloqueando IPs após tentativas de login falhadas.
Solução: Verifique o status do fail2ban com fail2ban-client status sshd e desbloqueie o IP com fail2ban-client set sshd unbanip IP_CLIENTE.
Sintoma: Erro "No route to host"
Causa: Problemas de roteamento de rede ou firewall de hardware bloqueando conexões.
Solução: Verifique a conectividade básica com ping e entre em contato com o provedor de rede se necessário.
Sintoma: SSH funciona localmente mas não remotamente
Causa: SSH configurado para escutar apenas em localhost (127.0.0.1).
Solução: Remova ou comente a linha ListenAddress 127.0.0.1 no arquivo /etc/ssh/sshd_config e reinicie o serviço.
Perguntas frequentes sobre solucionar erro SSH
O que causa o erro 'Connection timed out' no SSH?
O erro geralmente é causado por firewall bloqueando a porta 22, configuração incorreta do serviço SSH, ou problemas de conectividade de rede. Também pode ocorrer se o servidor estiver sobrecarregado ou com a porta SSH alterada.
Como verificar se o SSH está rodando no servidor?
Execute 'systemctl status ssh' ou 'systemctl status sshd' para verificar o status do serviço. Se estiver inativo, inicie com 'systemctl start ssh'. Também verifique se está escutando na porta correta com 'netstat -tlnp | grep :22'.
Qual porta o SSH usa por padrão?
O SSH usa a porta 22 por padrão. No entanto, muitos administradores alteram para uma porta personalizada por segurança. Verifique a configuração em '/etc/ssh/sshd_config' na linha 'Port'.
Como testar conectividade SSH de outro servidor?
Use 'telnet IP_SERVIDOR 22' para testar se a porta está acessível. Se conectar, verá uma mensagem do SSH. Também pode usar 'nmap -p 22 IP_SERVIDOR' para verificar se a porta está aberta.
O que fazer se o firewall estiver bloqueando SSH?
Configure o firewall para permitir SSH. No UFW use 'ufw allow ssh' ou 'ufw allow 22'. No iptables adicione a regra 'iptables -A INPUT -p tcp --dport 22 -j ACCEPT'. Sempre salve as regras após alterações.
Conclusão
- Sempre verifique o status do serviço SSH e configurações de firewall antes de investigar problemas de rede
- Mantenha acesso ao console do servidor para evitar bloqueios durante configurações de firewall
- Documente alterações na porta SSH e configurações de segurança para facilitar troubleshooting futuro
Leia também
- Passo a passo para configurar acesso restrito por IP no SSH do VPS Linux
- Como solucionar problemas de timeout no SSH em VPS Linux: Guia Completo
- Como solucionar problemas de acesso SSH no VPS Linux: Guia Completo
Precisa de ajuda com configuração de SSH?
Nossa equipe técnica especializada pode auxiliar na configuração segura de SSH e resolução de problemas de conectividade em seu servidor. Oferecemos suporte completo para VPS Linux com monitoramento 24/7.