Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

Solucionar erro 'Connection timed out' no SSH: diagnóstico e correção

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

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.

Conheça nossos planos de VPS Linux

  • 0 Os usuários acharam isso útil
  • ssh, connection-timeout, firewall, linux, avirahost
Esta resposta foi útil?

Artigos Relacionados

Guia Completo: Como escolher o melhor plano de hospedagem para o seu site

Escolher o plano de hospedagem ideal para o seu site é fundamental para garantir seu bom...

Lista Prática: 5 Vantagens de ter SSL gratuito no seu site

Ter um certificado SSL no seu site não é apenas uma questão de segurança, mas também uma...

Comparativo: Hospedagem de sites vs. VPS: qual é a melhor opção?

Quando se trata de escolher entre hospedagem compartilhada ou VPS, as opções variam de acordo...

Dicas de Otimização de Servidores Linux

Dicas de Otimização de Servidores Linux Servidores Linux são amplamente utilizados por sua...

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online...