SSH dá "Connection refused" ou "Connection timed out" na VPS: o que fazer
Connection timed out costuma ser a VPS desligada, o IP errado ou um firewall descartando a porta 22. Connection refused quer dizer que a VPS respondeu, mas nada atende na porta: serviço SSH parado, porta trocada ou bloqueio do fail2ban. Comece pelo painel e investigue pelo Console SSH.
Quando o SSH não conecta, as causas mais comuns são, nesta ordem: a VPS está desligada ou reiniciando, o IP está errado, a porta 22 está fechada no firewall do painel ou no UFW, o serviço SSH parou, a porta do SSH foi trocada ou o fail2ban bloqueou o seu IP. A mensagem já dá uma pista: Connection timed out costuma ser VPS desligada, IP errado ou firewall descartando a conexão; Connection refused quer dizer que a VPS respondeu, mas nada atende naquela porta. Comece pelo painel e, para olhar por dentro, entre pelo Console SSH, que não depende da rede da VPS.
Atenção: segurança da sua VPS. Os comandos no SSH mexem direto no servidor e são executados por sua conta e risco. Confira cada comando antes de rodar e, se puder, crie um snapshot da VPS antes de começar.
Sintomas
- O terminal mostra
ssh: connect to host <IP_DA_VPS> port 22: Connection refusedlogo depois do comando. - O terminal fica parado e termina em
ssh: connect to host <IP_DA_VPS> port 22: Connection timed out(no Mac,Operation timed out). - No PuTTY ou em outro programa, aparece
Network error: Connection refusedouNetwork error: Connection timed out. - O acesso funcionava e parou depois de mexer no firewall, de reiniciar a VPS ou de mudar a configuração do SSH.
Os comandos de dentro da VPS deste artigo valem para o Ubuntu e o Debian, os sistemas das VPS da StayCloud, e supõem que você entrou como root pelo Console SSH do painel (veja "Como acessar sua VPS pelo Console SSH do painel").
Causa 1: a VPS está desligada ou reiniciando
Como confirmar: no painel, abra VPS › Minhas VPS, clique em Gerenciar na VPS e veja o selo no topo da página. Se ele não mostra Em execução, a VPS não responde ao SSH e o terminal dá Connection timed out.
Como resolver: se a VPS está reiniciando, espere cerca de 30 segundos e tente de novo. Se está desligada ou travada, use o quadro Controle de estado da mesma página. O passo a passo está em "Como reiniciar sua VPS pelo painel".
Causa 2: o IP está errado
Como confirmar: compare o IP que você usou no comando com o que aparece em Minhas VPS › sua VPS › Sistema › Acesso SSH. Erros comuns: usar o IP de uma VPS antiga ou conectar pelo domínio, que pode apontar para outro servidor.
Como resolver: copie o comando SSH pronto do quadro Acesso SSH e cole no terminal. Para ver todos os IPs da VPS, veja "Como ver os IPs e a rede da VPS pelo painel".
Causa 3: a porta 22 está fechada no firewall do painel ou no UFW
Como confirmar: teste a porta a partir do seu computador. No Linux e no Mac:
nc -vz <IP_DA_VPS> 22
No Windows, no PowerShell:
Test-NetConnection <IP_DA_VPS> -Port 22
Se o teste falha (Connection refused, timed out ou TcpTestSucceeded : False) com a VPS Em execução, confira as duas camadas de firewall:
- No painel, na aba Firewall da VPS (Minhas VPS › Gerenciar › Firewall), procure uma regra Drop ou Reject na porta
22que pegue o seu IP. Drop costuma darConnection timed out; Reject,Connection refused. - Dentro da VPS, pelo Console SSH, veja as regras do UFW (Uncomplicated Firewall):
ufw status verbose
Se o UFW está active e a porta 22 não aparece com ALLOW IN, ele está bloqueando.
Como resolver: no painel, apague ou corrija a regra que bloqueia a porta 22, como em "Como criar uma regra de firewall na sua VPS pelo painel". No UFW, libere a porta pelo Console SSH:
ufw allow 22/tcp
O passo a passo do UFW está em "Como liberar portas com o firewall UFW na VPS via SSH".
Causa 4: o serviço SSH parou
Como confirmar: pelo Console SSH, veja o estado do serviço (no Ubuntu e no Debian ele se chama ssh):
systemctl status ssh
A linha Active: mostra inactive (dead) ou failed quando o serviço está parado. No Ubuntu 24.04, o SSH pode ser ligado sob demanda pelo ssh.socket: se o ssh aparece inativo com TriggeredBy: ssh.socket, confira também systemctl status ssh.socket.
Como resolver: teste a configuração e reinicie o serviço:
sshd -t
systemctl restart ssh
systemctl enable ssh
O sshd -t não mostra nada quando a configuração está certa. Se ele apontar um erro, corrija a linha indicada em /etc/ssh/sshd_config antes de reiniciar. Os logs do serviço saem com journalctl -u ssh -n 50. Veja mais em "Como ver e gerenciar serviços na VPS via SSH".
Causa 5: a porta do SSH foi trocada
Como confirmar: pelo Console SSH, veja em que porta o SSH está ouvindo:
ss -tlnp | grep ssh
O resultado mostra o endereço e a porta, como 0.0.0.0:2222. Se a porta não é 22, o comando sem -p dá Connection refused.
Como resolver: conecte informando a porta e confira se ela está liberada no firewall do painel e no UFW:
ssh -p <PORTA> root@<IP_DA_VPS>
Causa 6: o fail2ban bloqueou o seu IP
O fail2ban é um programa que bloqueia por um tempo o IP que erra a senha várias vezes. Essa causa só vale se você instalou o fail2ban na VPS.
Como confirmar: o SSH funciona de outra rede (por exemplo, o 4G do celular), mas não da sua. Pelo Console SSH, veja a lista de IPs bloqueados:
fail2ban-client status sshd
Se o seu IP aparece em Banned IP list, é o bloqueio. Para saber o seu IP, pesquise "qual é o meu IP" no navegador do seu computador.
Como resolver: desbloqueie o seu IP e, antes de tentar de novo, confira a senha ou a chave, para não ser bloqueado outra vez:
fail2ban-client set sshd unbanip <SEU_IP>
Quando chamar o Suporte
Na VPS, você tem acesso root e cuida do que instala; o suporte da StayCloud cuida da infraestrutura: a VPS ligada, a rede e o painel. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz". Abra um chamado se a VPS não volta para Em execução, se o Console SSH do painel também não abre, ou se, com a porta 22 liberada nas duas camadas e o serviço SSH rodando, a conexão continua falhando de qualquer rede.
No chamado, informe o IP da VPS ou o nome dela no painel, o horário do problema, a mensagem de erro literal, o resultado do nc ou do Test-NetConnection e o que você já tentou. O passo a passo está em "Como abrir um chamado no Suporte".
Relacionados
- Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)
- Como acessar sua VPS pelo Console SSH do painel
- Como reiniciar sua VPS pelo painel
- Como ver os IPs e a rede da VPS pelo painel
- Como criar uma regra de firewall na sua VPS pelo painel
- Como liberar portas com o firewall UFW na VPS via SSH
- Como ver e gerenciar serviços na VPS via SSH
- Perguntas frequentes sobre o que o suporte da StayCloud faz
- Como abrir um chamado no Suporte
Viu algo errado ou desatualizado?